网站源码下载 支付二维码怎么弄,西安至诚网站建设,wordpress 心理,什么网站做的号我们的目标是#xff1a;按照这一套资料学习下来#xff0c;大家可以独立完成自动化测试的任务。
上几篇我们讨论了元素的定位方法、操作方法以及一些特殊元素的操作。 在实际的测试项目组中每个模块会写多条案例#xff0c;如第一条用例那里我们的登录。登录的话就可以有多… 我们的目标是按照这一套资料学习下来大家可以独立完成自动化测试的任务。
上几篇我们讨论了元素的定位方法、操作方法以及一些特殊元素的操作。 在实际的测试项目组中每个模块会写多条案例如第一条用例那里我们的登录。登录的话就可以有多条案例。那我们怎么写才能更方便呢python有没有自带的框架能够使用呢
答案是肯定的。使用unittest来解决。 还是以此网站来举例Swag Labs
1、unittest基本结构
如下代码所示 class LoginTest(unittest.TestCase):def setUp(self):self.driver driverfunc()print(登录测试开始)#输入正确的密码登录成功测试def test_login_Y(self):driver self.driverusername standard_userpassword secret_sauceprint(登录的用户名是%s密码是%s%(username,password))#打开浏览器并最大化driver.get(https://www.saucedemo.com/)driver.maximize_window()time.sleep(3)#输入用户名driver.find_element_by_name(user-name).send_keys(username) # by name 定位#输入密码driver.find_element_by_name(password).send_keys(password) # by name 定位#点击登录按钮driver.find_element_by_id(login-button).click() # by ID 定位time.sleep(3)#加入断言 //*[idheader_container]/div[1]/div[2]/div# 验证标题显示Swag LabsUIResult driver.find_element_by_xpath(//*[idheader_container]/div[2]/span).textself.assertEqual(Products, UIResult, 密码正确登录验证失败fail)def tearDown(self): #浏览器退出self.driver.quit()print(登录测试结束)if __name__ __main__:unittest.main() 我们上面的代码已经使用了unitest。 unittest 即单元测试单元测试负责对最小的软件设计单元模块进行验证。有时候也叫白盒测试。这里unittest指单元测试框架是python语言自带的。 基本结构 class LoginTest(unittest.TestCase): #以登录为例这里写的类 def setUp(self): #测试用例执行前的初始化工作 self.driver driverfunc() print(登录测试开始) #实际的测试用例每个模块一条用例写一个函数 def test_login_Y(self): driver self.driver xxxx,下面一般是断言 self.assertEqual(Products, UIResult, 密码正确登录验证失败fail) def tearDown(self): #与初始化工作相对应执行一条用例后处理 self.driver.quit() print(登录测试结束)
2、多条用例的执行 现在加入我用写了一条登录失败的用例要怎么写呢聪明的你可能会想到在写一个函数。如下即是我们新增的案例。
# 输入错误的密码登录失败测试def test_login_N(self):driver self.driverusername standard_userpassword secret_NGprint(登录的用户名是%s密码是%s % (username, password))# 打开浏览器并最大化driver.get(https://www.saucedemo.com/)driver.maximize_window()time.sleep(3)# 输入用户名driver.find_element_by_name(user-name).send_keys(username) # by name 定位# 输入密码driver.find_element_by_name(password).send_keys(password) # by name 定位# 点击登录按钮driver.find_element_by_id(login-button).click() # by ID 定位time.sleep(3)# 加入断言 //*[idheader_container]/div[1]/div[2]/div# 验证有报错显示UIResult driver.find_element_by_xpath(//*[idlogin_button_container]/div/form/div[3]/h3).textself.assertEqual(Epic sadface: Username and password do not match any user in this service, UIResult, 密码错误登录验证失败fail) 执行我们整个脚本文件login.py
检查执行的结果我们确认执行了两条的测试案例并且都是成功的。如下图 这个是为什么呢因为unittest 提供了main方法使用它可以方便地将一个单元测试模块变成可以直接运行的测试脚本。main()方法使用TestLoader 类来搜索所包含在该模块中以test命名开通的测试方法并自动执行它们。即 if __name__ __main__: unittest.main()
以上就是unittest 一个简单的理解。
每天进步一点点加油