python+selenium+unittest+HTMLTestRunner+yaml UI功能自动化

1.代码框架展示

python+selenium+unittest+HTMLTestRunner+yaml UI功能自动化_第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

python+selenium+unittest+HTMLTestRunner+yaml UI功能自动化_第2张图片

(2)teartdown:执行每个测试用例后执行的

def downDown(self):

  self.driver.quit() #停止

(3)编写登录的测试用例

输入正确的用户名和密码,登录后跳转

先定义用户名和密码,然后通过selenium定位方法模拟输入用户名和密码,登录成功后断言

python+selenium+unittest+HTMLTestRunner+yaml UI功能自动化_第3张图片

(4)考虑到后期代码维护,数据和代码可以用yaml文件分离,新建login.yaml

新建yaml文件之前需要导入pyyaml包

python+selenium+unittest+HTMLTestRunner+yaml UI功能自动化_第4张图片

login.yaml文件

 
  

写了yaml文件后,测试用例要用他的话,需要先打开yaml文件

python+selenium+unittest+HTMLTestRunner+yaml UI功能自动化_第5张图片

然后数据就可以去调用

python+selenium+unittest+HTMLTestRunner+yaml UI功能自动化_第6张图片

这样就实现数据分离了,后面还要实现代码与数据分离

 

你可能感兴趣的:(python,selenium)