六、用户登陆成功,跳转到xxxxx页面
有的小朋友说这样太麻烦了,其实这还不算标准的,其实咱们还有不少的东西没有写出来。好比你是否是应该在第6条后面再加一条断言呢?登陆成功没呢?登陆后跳转的页面对不呢?登陆后的用户信息对吗?这些你都要考虑进去,若是出现串cookie的状况因此这些都是必要的!最后小伙伴们都问了那咱们是否是这样将用例翻译成脚本就好了呢?答案确定是否认呢?你以为这样的脚本有用吗?我以为没有!由于这脚本没有可用性,没有可维护性。why?若是我要换一个账号登陆你怎么办?不断更改?若是元素id变了呢?这有复用性吗?分享当时小伙伴们怒了,那这自动化根本就没用还麻烦。答案实际上是否认的,只是咱们方式不对而已。按照刚才的翻译出来是这样。
from selenium import webdriver
#一、打开Firefox()浏览器
dr = webdriver.Firefox()
#三、在id为username的用户栏输入正确的用户账号:xxxxxxx
dr.find_element_by_id("username").send_keys("xxxxxx")
#四、在id为password的密码栏输入正确的密码:xxxxxx
dr.find_element_by_id("password").send_keys("xxxxxx")
#五、点击id为login的“登陆”按钮
dr.find_element_by_id('login').click()
#六、用户登陆成功,跳转到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):
#三、在id为username的用户栏输入正确的用户账号:xxxxxxx
self.dr.find_element_by_id("username").send_keys(user)
#四、在id为password的密码栏输入正确的密码:xxxxxx
self.dr.find_element_by_id("password").send_keys(pwd)
#五、点击id为login的“登陆”按钮
self.dr.find_element_by_id('login').click()
if __name__ == '__main__':
unittest.main()
一个登陆的自动化测试用例就是这样的(完成度95%)。 性能测试须要的东西不少暂时先提一下:开发语言(方便些性能脚本)、中间件知识、服务器知识、数据库知识、网络知识这些差很少都须要会。因此这不是简单活,后面简单说下,睡觉了!