UI自动化笔记

1、UI自动化的原理
是通过selenium来实现web自动化的,其中的原理涉及到三个最主要的东西:代码、webdriver、浏览器;代码使用http通信启动webdriver,然后webdriver驱动浏览器执行自动化代码;浏览器执行完成后返回执行结果给webdriver,webdriver把执行结果告诉python代码

2.UI自动化流程
先会进行评估若是项目更新迭代比较多、回归较多就需要介入自动化,然后挑选适合做自动的模块, 再从已有的功能用例中挑选自动化测试用例,搭建自动化测试环境,然后搭建自动化测试框架,再进行用例脚本的开发,然后执行测试,最后是脚本的补充及维护

3.UI自动化框架搭建思路
采用python+selenium+unittest+HTMLTestRunnerPO模式进行自动化框架的搭建
我在创建自动化项目的时候,分为几大目录:
第一个是公共目录,里面包含了一些公共类,比如
配置文件处理类:这个文件主要通过ConfigParser这个模块封装了配置文件读写的方法
日志处理类:这个文件主要通过logging这个模块进行日志器相关操作的封装,用于执行用例时记录相关日志信息
获取路径类:这个文件主要通过os这个模块获取项目目录和文件的路径

第二个目录是页面对象目录,里面包含页面基础类和页面对象类,页面基础类主要包含元素定位、切换frame和窗口、处理弹窗和列表等的一些方法;页面对象类是给每个系统页面封装成一个页面对象类,包含对元素的操作的一些方法

第三个目录是测试数据,采用的py文件进行测试数据的存放
第四个目录是配置文件目录,里面存放了一个config的配置文件,包含URL、浏览器的类型等常用的固定的配置项,用于方便的调用读取

第五个目录是测试用例目录
里面包含很多的test-case,po模式中的业务层也是在test-case里面实现,通过unittest+ddt读取测试数据并执行测试用例,然后进行断言校验

第六个目录是报告和日志目录,用于存放生成的测试报告及日志文件
还有一个额外的目录,用于存放脚本执行过程出现异常时的截图

第七个run.py:通过unittest+HTMLTestRunner 运行用例并生成测试报告,项目工程部署完毕后直接运行该文件就可以执行所有的测试用例
UI自动化笔记_第1张图片

4、定位元素及页面操作方法
元素定位的8种方法
UI自动化笔记_第2张图片

切换子页面
UI自动化笔记_第3张图片

滚屏操作
UI自动化笔记_第4张图片

页面前进后退和刷新
UI自动化笔记_第5张图片

鼠标控制
UI自动化笔记_第6张图片

操作下拉列表
web网页大多选择功能使用下拉列表方式实现,在selenium进行自动化过程中,可通过Select类实现下拉列表的多种操作。
使用时需先导入Select类:from selenium.webdriver.support.select import Select
UI自动化笔记_第7张图片
窗口切换及截图
UI自动化笔记_第8张图片在这里插入图片描述
动态元素定位
根据部分元素属性定位,xpath中提供了三个非常好的方法来为我们定位部分属性值:
driver.findElement(By.xpath("//input [contains(@id, ‘auto’)]"))
driver.findElement(By.xpath("//input [starts-with(@id,‘auto’)]")
driver.findElement(By.xpath("//input [ends-with(@id, ‘auto’)]")

5.unittest
unittest是Python自带的单元测试框架,我们可以用其来作为我们自动化测试框架的用例组织执行框架。

unittest的流程:写好TestCase,然后由TestLoader加载TestCase到TestSuite,再由TextTestRunner来运行TestSuite,运行的结果保存在TextTestResult中,我们通过命令行或者unittest.main()执行时,main会调用TextTestRunner中的run来执行,或者我们可以直接通过TextTestRunner来执行用例。

用 setUp()、tearDown()、setUpClass()以及 tearDownClass()可以在用例执行前布置环境,以及在用例执行后清理环境

python+UI自动化测试框架代码可以从下面的连接处自取:
https://download.csdn.net/download/happy512happy/51839581

你可能感兴趣的:(自动化测试,软件测试)