原标题:Pyhton3+Selenium的Web自动化测试框架
环境部署
Python3+Selenium+unittest+HTMLTestRunner+pageObject Web自动化测试框架。
(Page Object设计模式)
环境部署:python3、selenium3
开发工具:Pycharm
集成工具:Jenkins
测试代码托管平台:GitHub
源码:https://github.com/linyuli861/Automated-Test.git
通过主从服务器执行测试。
环境部署
common文件夹存放公有元素,如url,测试报告发送邮件地址,使用信息等;
file文件夹存放测试过程中需要使用的文件,如图片,txt,zip文件等
page文件夹用于存放测试过程中需要使用的页面元素
report文件夹用于存放测试生成的测试报告
testcase文件夹中存放测试用例
HTMLTestRunner.py是将测试结果生成为html版的测试报告的文件
run.py 执行run.py文件可以执行全部测试用例
PageObject 设计模式
由于被测页面会更新,为保持测试脚本的健壮性和可修改性,我们使用了Page Object设计模式,将被测页面的测试脚本与脚本中所使用到的页面元素解耦, 将被测页面的测试脚本文件放在testcase文件夹中,将测试脚本使用到的被测页面元素放置在page文件夹中。
为了测试用例写起来更加方便,我们在page文件夹中放置了BasePage.py文件,BasePage.py文件将查找元素进一步简化,page文件夹中的其他Page文件可以调用BasePage.py中的方法将代码进一步简化。
下面以百度首页作为示例,演示本框架中Page Object模式的使用。
test_baiduSearch.py
# coding=utf-8from HTMLTestRunner import HTMLTestRunnerfrom selenium import webdriverfrom page.searchPage import SearchPageimport timeimport unittestfrom page.searchPage import *classTestLogin( unittest. TestCase):defsetUp( self):self.driver