6、用户登录成功,跳转到xxxxx页面
有的小朋友说这样太麻烦了,其实这还不算标准的,其实我们还有很多的东西没有写出来。比如你是不是应该在第6条后面再加一条断言呢?登录成功没呢?登录后跳转的页面对不呢?登录后的用户信息对吗?这些你都要考虑进去,如果出现串cookie的情况所以这些都是必要的!最后小伙伴们都问了那我们是不是这样将用例翻译成脚本就行了呢?答案肯定是否定呢?你觉得这样的脚本有用吗?我觉得没有!因为这脚本没有可用性,没有可维护性。why?如果我要换一个帐号登录你怎么办?不断更改?如果元素id变了呢?这有复用性吗?分享当时小伙伴们怒了,那这自动化根本就没用还麻烦。答案其实是否定的,只是我们方式不对而已。按照刚才的翻译出来是这样。
from selenium import webdriver
#1、打开Firefox()浏览器
dr = webdriver.Firefox()
#3、在id为username的用户栏输入正确的用户帐号:xxxxxxx
dr.find_element_by_id("username").send_keys("xxxxxx")
#4、在id为password的密码栏输入正确的密码:xxxxxx
dr.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里面 也可以添加其他的断言
草草的写了一下最后的一个登录测试脚本 应该是这样的:
from selenium import webdriver
import unittest
class TestLogin(unittest.TestCase):
dr = None
def 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) #断言
pass
def login(self,user,pwd):
#3、在id为username的用户栏输入正确的用户帐号:xxxxxxx
self.dr.find_element_by_id("username").send_keys(user)
#4、在id为password的密码栏输入正确的密码:xxxxxx
self.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()
一个登录的自动化测试用例就是这样的(完成度95%)。
性能测试需要的东西很多暂时先提一下:开发语言(方便些性能脚本)、中间件知识、服务器知识、数据库知识、网络知识这些差不多都需要会。所以这不是简单活,后面简单说下,睡觉了!