700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 一个登录的自动化测试用例(新手)

一个登录的自动化测试用例(新手)

时间:2023-04-05 11:15:50

相关推荐

一个登录的自动化测试用例(新手)

一个登录的测试用例怎么写呢?小伙伴们都是:1、在用户栏输入xxxx,2、在密码栏输入xxxx,3、点击登录按钮,登录成功。很多小伙伴都是这样,其实不对。相对标准的用例应该是这样:

1、打开Firefox()浏览器 2、在打开的Firefox()浏览器地址栏输入"" 3、在id为username的用户栏输入正确的用户帐号:xxxxxxx 4、在id为password的密码栏输入正确的密码:xxxxxx 5、点击id为login的“登录”按钮 6、用户登录成功,跳转到xxxxx页面 有的小朋友说这样太麻烦了,其实这还不算标准的,其实我们还有很多的东西没有写出来。比如你是不是应该在第6条后面再加一条断言呢?登录成功没呢?登录后跳转的页面对不呢?登录后的用户信息对吗?这些你都要考虑进去,如果出现串cookie的情况所以这些都是必要的!最后小伙伴们都问了那我们是不是这样将用例翻译成脚本就行了呢?答案肯定是否定呢?你觉得这样的脚本有用吗?我觉得没有!因为这脚本没有可用性,没有可维护性。why?如果我要换一个帐号登录你怎么办?不断更改?如果元素id变了呢?这有复用性吗?分享当时小伙伴们怒了,那这自动化根本就没用还麻烦。答案其实是否定的,只是我们方式不对而已。按照刚才的翻译出来是这样。

<span style="font-size:18px;">from selenium import webdriver#1、打开Firefox()浏览器dr = webdriver.Firefox()#2、在打开的Firefox()浏览器地址栏输入""dr.get('http://www.xxxxx.cm')#3、在id为username的用户栏输入正确的用户帐号:xxxxxxxdr.find_element_by_id("username").send_keys("xxxxxx")#4、在id为password的密码栏输入正确的密码:xxxxxxdr.find_element_by_id("password").send_keys("xxxxxx")#5、点击id为login的“登录”按钮dr.find_element_by_id('login').click()#6、用户登录成功,跳转到xxxxx页面assert"xxxx" in dr.title #'xxxx'是否在title里面 也可以添加其他的断言</span>

草草的写了一下最后的一个登录测试脚本 应该是这样的:

<span style="font-size:18px;">from selenium import webdriverimport unittestclass TestLogin(unittest.TestCase):Login_url = ''dr = Nonedef setUp(self):print 'test start'self.dr = webdriver.Firefox()def tearDown(self):self.dr.quit()def test_Login(self):username = 'sssss'password = 'xxxxx' #可以调用外面的self.dr.get(self.Login_url)self.login(username,password)t = self.dr.find_element_by_id('login') #查找元素为login的东西 登录后的self.assertTrue(username in t.text) #断言passdef login(self,user,pwd):#3、在id为username的用户栏输入正确的用户帐号:xxxxxxxself.dr.find_element_by_id("username").send_keys(user)#4、在id为password的密码栏输入正确的密码:xxxxxxself.dr.find_element_by_id("password").send_keys(pwd)#5、点击id为login的“登录”按钮self.dr.find_element_by_id('login').click()if __name__ == '__main__':unittest.main()</span>

(完成度95%)。 性能测试需要的东西很多暂时先提一下:开发语言(方便些性能脚本)、中间件知识、服务器知识、数据库知识、网络知识这些差不多都需要会。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。