UI自动化
文章平均质量分 75
UI自动化测试:Selenium自动化、Appnium自动化
沉觞流年
博客内容仅是个人学习笔记,不是技术博客。
展开
-
自动化测试
自动化测试测试的本源自动化测试自动化测试的概述自动化测试的定义手工测试局限性自动化测试对比手工测试的优势适合自动化测试的场景自动化测试的演变萌芽期发展期爆发期未来自动化测试特点自动化测试的优势自动化测试的劣势自动化测试工具根据所支持的系统架构分类根据收费模式分类自动化测试流程自动化测试开展时机自动化测试前景测试的本源直接目标找出软件中潜在的各种缺陷和错误商业目标规避软件发布后由于各种潜在的缺陷和错误造成的隐患及带来的商业风险投入产出比要求投入最少的人力、物力和时间,找到尽可能多的问题自原创 2019-10-15 22:25:13 · 451 阅读 · 0 评论 -
Selenium
SeleniumSelenium的发展Selenium组成Selenium IDESelenium IDE的特点Selenium的发展Jason Huggins在2004年发起了Selenium项目,当时身处于ThoughtWorks的他,为了不想让自己的时间浪费在无聊的重复性工作中而编写的JavaScript类库,这就是Selenium最早版本。关于Selenium的命名比较有意识,当时QTP mercury (UFT)是主流的商业自动化工具,是化学元素汞(俗称水银),而Selenium是开源自原创 2019-10-27 12:35:32 · 255 阅读 · 0 评论 -
Selenium测试环境搭建
Selenium测试环境搭建1、Python3.x安装并配置环境变量2、Selenium安装3、浏览器驱动安装原创 2019-10-24 12:58:45 · 300 阅读 · 0 评论 -
selenium 中 webdriver 原理
selenium 中 webdriver 原理selenium 中 webdriver 通信流程查看 webdriver 源码selenium 中 webdriver 通信流程主要流程就是 selenium 通过里面的 webdriver 直接控制浏览器(通过不同浏览器的驱动)然后对目标进行UI层面的测试。其本质就是 http 的通信过程:通过代码服务启动,chromedriver 启动,IP + 端口进行监听python selenium webdriver 跟 chromedriver原创 2020-09-21 21:18:15 · 2567 阅读 · 0 评论 -
DOM
DOMDOMDOM 树节点节点父、子和同胞DOM对象元素对象(Element)属性对象DOM 事件JS 的 DOM 操作DOM 访问DOM 修改DOM 事件监听常用事件DOMDOM (Document Object Mode) 全称是文档对象模型,是W3C组织推荐的处理可扩展标志语言的标准编程接口是一套web标准:定义了访问HTML文档的一套属性、方法和事件。DOM的本质是 网页 与 脚本语言 沟通的桥梁。脚本语言通过DOM对象来访问html页面,从而改变文档的结构,样式和内容。当浏览器载入原创 2020-09-23 22:28:16 · 227 阅读 · 0 评论 -
WeDriver 对页面元素的定位和操作
WeDriver 对页面元素的定位和操作WeDriver 对网页元素的定位web界面的元素WebElement 对象八种元素定位方法常见元素定位find_element_by_id()find_element_by_name()find_element_by_class_name()find_element_by_tag_name()find_element_by_link_text()Xpath定位绝对路径方式定位属性方式定位层级与属性方式定位模糊匹配属性内容方式定位逻辑运算符进行组元素属性定位css定位原创 2020-10-04 17:27:14 · 646 阅读 · 0 评论 -
WeDriver 模拟浏览器的操作
WeDriver 模拟浏览器的操作WeDriver 对浏览器的操作打开浏览器驱动控制浏览器窗口大小控制浏览器后退、前进模拟浏览器刷新模拟浏览器截屏模拟浏览器关闭练习鼠标、键盘操作鼠标事件键盘操作键盘操作输入快捷键练习警告窗口处理警告窗口处理概述警告窗口处理方法练习多窗口、多表单处理切换窗口、表单设置元素等待隐式等待显示等待强制等待练习WeDriver 对浏览器的操作WeDriver主要提供的是操作页面上各种元素的方法,但它也提供了操作浏览器的一些方法,例如控制浏览器的大小,操作浏览器的前进和后退等。原创 2019-10-27 23:13:38 · 1064 阅读 · 0 评论 -
自动化测试selenium代码
自动化测试selenium代码#从selenium中导入webdriverfrom selenium import webdriverfrom time import sleep#创建一个浏览器驱动driver = webdriver.Chrome(executable_path=r"C:\Users\95492\Desktop\chromedriver.exe")driver.ma...原创 2019-09-03 07:06:39 · 841 阅读 · 0 评论 -
自动化测试用例设计
自动化测试用例设计自动化测试用例设计要点自动化测试与一般用例的区别自动化测试用例遵循的原则自动化测试用例设计要点以正向的业务流程为主一个自动化测试用例是一个完整的业务场景,从打开浏览器开始,到退出浏览器结束每个自动测试用例是独立的,互不影响,写完一个测试用例要进行系统还原自动化测试用例,不需要每一个步骤都写预期结果,在需要检查的点对应的位置给出预期结果。一个自动化测试用例尽量覆盖一个功能点。自动化测试与一般用例的区别自动化测试用例一般可以由手动测试用例转化而来,需注意:不是所有的手动原创 2019-10-29 21:29:44 · 475 阅读 · 0 评论 -
PageObject 设计模式
PageObject 设计模式PageObject 设计模式简要认知PageObject 设计模式原理PageObject 设计模式核心思想PageObject 设计模式的优点PageObject 设计模式实操测试用例编码driver 扩展简化页面元素定位设置等待断言处理逆向用例ddtPageObject 设计模式简要认知PageObject 设计模式原理将页面的元素定位和元素行为封装成一个page类。一个页面对应一个类类的属性:元素的定位类的行为:元素的操作PageObject 设计模式核原创 2020-10-07 02:49:09 · 8228 阅读 · 3 评论 -
分层设计思想
分层设计思想locator 元素定位分层测试用例分层接着上一篇文章 – PageObject 设计模式登录页面元素定位,都是放在 PageObjects 目录下的 login_page.py 文件下的 LoginPage 类下locator 元素定位分层这个登录页面要用到的元素定位还是比较少的,在真正的项目中,一个页面20~30个元素定位都是比较正常的。现在除了 xpath 表达式没有其他的,如果我还要增加其他的表达式,都堆在这个 class 里,会塞得很满,而这个时候,我们在 LoginPag原创 2020-10-11 21:07:56 · 954 阅读 · 3 评论 -
basepage封装
basepage封装basepage封装的目的basepage封装操作配置文件封装函数操作继承 basepage接着上一篇 分层设计思想,进行了自动化测试框架 PO页面对象层、测试用例层、元素定位层 和 测试数据层 4层封装然而,在真实项目中,仅有这4层封装,这个自动化测试框架还是不完善的。自动化测试框架的常用功能:1、补充用例、执行用例或筛选用例进行执行2、对执行失败的用例进行重运行功能(用例重运行机制)3、生成测试报告4、生成日志、运行失败进行截图一个好的自动化测试框架,需要做到能减原创 2020-10-31 16:54:59 · 3177 阅读 · 2 评论 -
自动化脚本开发
自动化脚本开发线性脚本:脚本能顺序地执行一个业务,代码的可维护性、复用性较差,维护成本高模块化驱动测试:主要脚本的可维护性角度进行改进,把脚本中重复性的代码提取出来写入公共模块(方法、类里面实现)数据驱动测试:通过数据的改变来驱动自动化测试的执行,解决代码的复用性问题(一个脚本通过数据驱动就可以覆盖多个手动测试用例),其实就是参数化技术列表中存列表列表中存字典csv文件存储数据关键字...原创 2019-10-29 23:25:03 · 1626 阅读 · 1 评论 -
自动化测试脚本增强
自动化测试脚本增强原创 2019-10-30 22:39:50 · 520 阅读 · 0 评论 -
Jenkins与自动化构建
Jenkins与自动化构建测试自动化构建定时构建(AUTOSMOKETEST)手动构建(SMOKE-TEST)测试自动化构建jenkins构建自动化集成分为两部分:定时构建、手动构建定时构建(AUTOSMOKETEST)定时构建仅适用于测试环境、预生产环境(由于提测的标准就是冒烟测试通过,所有测试环境、预生产环境一定要定时检查保证冒烟通过)手动构建(SMOKE-TEST)手动构...原创 2019-11-20 08:32:20 · 280 阅读 · 0 评论 -
WebUI自动化项目构建
WebUI自动化项目构建项目流程项目结构项目要求与相应操作文件命名测试用例函数命名页面class元素定位元素操作元素操作错误重试操作等待项目流程项目结构xxxx(项目名称)|-- common # 相同基础通用方法| -- baseView.py # 定义driver方法,将所有基础方法重定义(一是为了统计所有使用到的基础方法便于其他人学习;二是为了简化项目编码维护)| -- dataType.py # 字符格式转换,同一封装使用| -- emailSend.原创 2020-09-12 21:34:33 · 551 阅读 · 0 评论