1.代码框架展示
(1)common:存放公共的封装的方法
(2)data:存放yaml数据,分离数据和代码
(3)public:存放公共的东西,比如登录,生成的报告,等
(4)report/result:存放生成的报告
(5)testcase:存放测试用例,应该是一个功能或者一个页面放在一个Test里,也可以放xlsx文件(先把测试用例写在excel文件里)
(6)runAllcase:运行所有测试用例
2.分析
比如要测一个简单的登录功能,我们首先应该打开浏览器,浏览器最大化,输入url,输入用户名和密码,有些有验证码,点击登录按钮,执行后关闭浏览器。说的这些应该是输入用户名和密码是要随着变化的,其他的话是按部就班的,所以用setup()方法,teardown()方法
(1)setup():执行每个测试用例前执行的
def setup(self):
self.driver = webdriver.Chrome() #打开浏览器,需要下载chromedriver
self.driver.maximize_window() #浏览器最大化
self.driver.get("www.baidu.com") # 打开url
(2)teartdown:执行每个测试用例后执行的
def downDown(self):
self.driver.quit() #停止
(3)编写登录的测试用例
输入正确的用户名和密码,登录后跳转
先定义用户名和密码,然后通过selenium定位方法模拟输入用户名和密码,登录成功后断言
(4)考虑到后期代码维护,数据和代码可以用yaml文件分离,新建login.yaml
新建yaml文件之前需要导入pyyaml包
login.yaml文件
写了yaml文件后,测试用例要用他的话,需要先打开yaml文件
然后数据就可以去调用
这样就实现数据分离了,后面还要实现代码与数据分离