UI自动化
文章平均质量分 87
孩儿她们爹
10年软件测试工作经验,6年团队管理经验,做过性能测试,擅长自动化测试,有持续集成经验。精通测试基础知识;精通测试用例设计;精通selenium、appium、uiautomator,cypress等自动化测试工具;精通自动化、接口测试框架开发,熟练使用LR、jmeter进行性能测试并定位性能问题;掌握Java、python语言;熟悉HTML,JS。
展开
-
前端自动化测试框架Cypress(二十三)生成测试报告(二)
一、编写动态挑选测试用例运行代码在项目根目录文件夹下简历utils文件夹,在此文件夹下新建PickTestsToRun.js//PickTestsToRun.js/*本段代码更改it和describe的行为,使之实现类似mocha中的grep功能,接受如下四个参数1、-i <value>,仅运行指定的it()。该it()的描述中含有<value>2、-I <value>,仅运行指定的describe()。该describe()的描述中含有<value>原创 2020-12-02 11:50:12 · 811 阅读 · 0 评论 -
前端自动化测试框架Cypress(二十三)生成测试报告(一)
因为Cypress也是在Mocha的基础上构建的,所以任何为Mocha构建的报告生成器都可以在Cypress里使用。这里有一个Mocha内建报告生成器列表:Mocha内建报告生成器我们同样为Mocha添加了另外两个普遍使用的第三方的报告生成器。同样地构建在Cypress里,你可以不用额外安装直接使用:teamcityjunit最后,我们也支持自定义,或其他第三方的报告生成器。你知道吗?你可以利用Mocha使用多报告生成器?这通常在CI的时候是很有用的。典型的情况是,我们看到使用者用默认的原创 2020-07-23 09:45:37 · 2196 阅读 · 0 评论 -
前端自动化测试框架Cypress(二十二)--- 断言.should() expect()
.should() 创建断言。断言会自动重试,直到它们通过或超时。语法.should(chainers).should(chainers, value).should(chainers, method, value).should(callbackFn)实例一cy.get('.error').should('be.empty') // Assert that '.error' is emptycy.contains('Login').should('b原创 2020-07-02 15:36:27 · 3000 阅读 · 0 评论 -
前端自动化测试框架Cypress(二十一)---屏幕截图.screenshot()
.screenshot()—屏幕截图,保存路径cypress/screenshots/my-image.png语法.screenshot().screenshot(fileName).screenshot(options).screenshot(fileName, options)// ---or---cy.screenshot()cy.screenshot(fileName)cy.screenshot(options)cy.screenshot(fileName, options)原创 2020-07-02 15:14:39 · 1667 阅读 · 0 评论 -
前端自动化测试框架Cypress(二十)--聚焦元素focus、focused
.focus()—元素聚焦语法.focus().focus(options)参数log true 在命令日志中显示命令timeout defaultCommandTimeout 超时时间实例一cy.get('input').first().focus() // 聚焦到第一个input元素实例二cy.get('[type="input"]').focus()实例三cy.get('[name="comment"]').focus().focused()—获取当前聚焦的元素语原创 2020-07-02 15:14:30 · 1089 阅读 · 0 评论 -
前端自动化测试框架Cypress(十九)-- 读写文件writeFile()、readFile()
.writeFile()语法:cy.writeFile(filePath, contents)cy.writeFile(filePath, contents, encoding)cy.writeFile(filePath, contents, options)编码方式:asciibase64binaryhexlatin1utf8utf-8ucs2ucs-2utf16leutf-16le写入内容到txt文件cy.writeFile('path/to/message.tx原创 2020-06-16 15:42:35 · 1781 阅读 · 0 评论 -
前端自动化测试框架Cypress(十八)-- 滚动到指定位置scrollTo()
.scrollTo() 滚动到指定位置语法:cy.scrollTo(position)cy.scrollTo(x, y)cy.scrollTo(position, options)cy.scrollTo(x, y, options)// ---or---.scrollTo(position).scrollTo(x, y).scrollTo(position, options).scrollTo(x, y, options)使用cy.scrollTo(0, 500)原创 2020-06-16 15:42:18 · 1295 阅读 · 0 评论 -
前端自动化测试框架Cypress(十七)-- 滑动到某个元素scrollIntoView
.scrollIntoView语法:.scrollIntoView().scrollIntoView(options)使用:cy.get('footer').scrollIntoView() // Scrolls 'footer' into view参数介绍duration 0 多长时间滑到指定元素easing swing Will scroll with the easing animation--暂时没搞清楚,感觉没啥变化log true 是否显示命令行日志offset {t原创 2020-06-16 15:03:46 · 1125 阅读 · 0 评论 -
前端自动化测试框架Cypress(十六)--- 等待元素出现cypress-wait-until
安装插件cypress-wait-untilcmd进入项目根目录npm i -D cypress-wait-until# oryarn add -D cypress-wait-until导入插件cypress/support/commands.js文件添加如下命令import 'cypress-wait-until';样例:// 等待,直到cookie设置成功cy.waitUntil(() => cy.getCookie('token').then(cookie => B原创 2020-06-12 18:19:46 · 4818 阅读 · 1 评论 -
前端自动化测试框架Cypress(十四)--- 接口登录(token)
语法: cy.wrap(sessionStorage.setItem("Token", tokenValue)) window.sessionStorage.setItem('Token', tokenValue)获取项目key值通过接口登录sessionStorage.setItem 设置token实例:it('loginInAs', () => { const url = `${Cypress.config("baseApi")}/api/Login/PostLogin`原创 2020-06-12 14:44:19 · 3085 阅读 · 0 评论 -
前端自动化测试框架Cypress(十三)--- Cookie
.getCookie()语法:cy.getCookie(name)cy.getCookie(name, options)使用:cy.getCookie('auth_key') // Get cookie with name 'auth_key'获取登录后的session_id cookie并打印// assume we just logged incy.contains('Login').click()cy.url().should('include', 'profile')原创 2020-06-12 14:31:51 · 1595 阅读 · 0 评论 -
前端自动化测试框架Cypress(十三)--- as()
.as()语法:.as(aliasName)使用:cy.get('.main-nav').find('li').first().as('firstNav') // Alias first 'li' as @firstNavcy.route('PUT', 'users', 'fx:user').as('putUser') // Alias that route as @putUsercy.stub(api, 'onUnauth').as('unauth')原创 2020-06-12 14:18:41 · 884 阅读 · 0 评论 -
前端自动化测试框架Cypress(十二)--- submit()
.submit()语法:.submit().submit(options)例1:cy.get('form').submit() // Submit a form例2:<form id="contact"> <input type="text" name="message"> <button type="submit">Send</button></form>cy.get('#contact').submit()原创 2020-06-12 14:13:45 · 523 阅读 · 0 评论 -
前端自动化测试框架Cypress(十一)---导航功能(go,reload,visit)
web页面上的导航功能,上一页,下一页,重新加载页面,直接访问页面。.go() 上一页,下一页语法:cy.go(direction)cy.go(direction, options)使用:上一页cy.go(-1) cy.go('back') 下一页cy.go(1) cy.go('forward') .reload() 刷新页面语法:cy.reload()cy.reload(forceReload)cy.reload(options)cy.reload(forceRel原创 2020-06-12 14:07:51 · 759 阅读 · 1 评论 -
前端自动化测试框架Cypress(十)--字符类型转换.to()和接口请求.request()
安装插件cypress-commandsnpm install cypress-commands将cypress-commands导入项目中 cypress/support/index.jsimport 'cypress-commands'***.to() 字符类型转换****语法:*```javascript.to(type).to(type, options)正确用法cy.wrap('00123').to('number'); // 结果 123cy.wrap(42).to原创 2020-06-10 18:18:06 · 1338 阅读 · 1 评论 -
前端自动化测试框架Cypress(九)--获取元素属性.text() .attribute()
安装插件cypress-commandsnpm install cypress-commands将cypress-commands导入项目中 cypress/support/index.jsimport 'cypress-commands'.text()正确用法<div>Catastrophic Cat</div><div>Dramatic Dog</div><div>Amazing Ant</div>// yi原创 2020-06-10 17:58:45 · 8074 阅读 · 5 评论 -
前端自动化测试框架Cypress(七)--check
.check() 勾选复选框或单选语法:.check().check(value).check(values).check(options).check(value, options).check(values, options)使用方法:cy.get('[type="checkbox"]').check() // 选中checkbox元素cy.get('[type="radio"]').first().check() // 选中第一个radio元素选中所有复选框c原创 2020-06-10 16:13:02 · 1167 阅读 · 0 评论 -
前端自动化测试框架Cypress(五)--父子元素定位
.children() 通过父元素定位子元素语法:.children().children(selector).children(options).children(selector, options)样例1:<ul> <li>About</li> <li>Services <ul class="secondary-nav"> <li class="services-1">Web Design原创 2020-06-10 14:37:08 · 2814 阅读 · 0 评论 -
前端自动化测试框架Cypress(四)--元素定位
<div id='mydiv' class='myclass'> <input id='myinput' class='class_input input_1' placeholder='cypress'> <button id='button1' class='class_button1'> <span class='class_span'>登录</span> </button></div>cy.get()原创 2020-06-10 11:43:51 · 3926 阅读 · 0 评论 -
前端自动化测试框架Cypress(三)--百度账号登录实例
百度登录用例打开百度首页点击登录按钮并选择用户名登录输入用户名并判断用户名输入成功输入密码并判断密码输入成功点击登录按钮判断登录账号用户昵称//login_baidu.js//孩儿她们爹///<reference types="cypress"/>describe("百度贴吧",function(){ beforeEach(function () { cy.visit("https://www.baidu.com/") });原创 2020-06-10 10:53:34 · 2104 阅读 · 0 评论 -
前端自动化测试框架Cypress(二)--第一个脚本
前端自动化测试框架Cypress(二)–第一个脚本使用vs code打开项目,file–open folder选择项目在cypress-integration目录下新建你的工程目录,如demo1,在demo1下新建一个baidu.js文件//baidu.js//孩儿她们爹describe('第一个测试脚本', function() { it("百度输入框功能", function() { cy.visit('https://www.baidu.com') //打开原创 2020-06-08 17:45:03 · 2327 阅读 · 1 评论 -
前端自动化测试框架Cypress(一)--环境搭建npm安装
前端自动化测试框架Cypress–环境搭建npm安装参考文档:官方地址:https://www.cypress.io/,详细的文档介绍:https://docs.cypress.io/guides/overview/why-cypress.htmlWindows环境安装推荐使用npm安装,要求Node.js8或更高版本安装Node.js官方下载地址:https://nodejs.org/en/download/下载后双击运行按照提示安装即可,安装完成后运行cmd,输入node -v查看版本号原创 2020-06-08 17:24:26 · 3683 阅读 · 1 评论 -
Chrome Headless(无头模式)下Element is not clickable 的解决方法
Chrome Headless(无头模式)下Element is not clickable 的解决方法Python环境中chromedriver添加以下参数from selenium.webdriver.chrome.options import Optionsdef get_options(): chrome_options = Options() chrome_opti...原创 2020-04-23 15:44:20 · 5274 阅读 · 5 评论 -
python+uiautomator2二次封装
python+uiautomator2二次封装#!python3.7# -*- coding: utf-8 -*-__author__ = 'haiertamendie'__data__ = "2019-11-15 19-56"import base64"""界面元素基础操作"""import uiautomator2 as u2from Config.Config im...原创 2020-04-23 15:23:18 · 3088 阅读 · 3 评论 -
java+UIAutomatorAPI详解
UIAutomatorAPI详解UiObject手势操作dragTo():拖拽dragTo(int destX, int destY, int steps)–拖拽对象到屏幕(destX,destY)位置上dragTo(UiObject destObj, int steps)–拖拽对象到屏幕另一个对象(destObj)位置上swipe():滑动swipe(int startX, int...原创 2020-04-23 15:15:07 · 1192 阅读 · 0 评论 -
python+uiautomator环境搭建及启动实例
python+uiautomator环境搭建及启动实例一、python安装在python的官网下载python对应版本:https://www.python.org/downloads/windows/64位下载Windows x86-64 executable installer 版本32位下载Windows x86 executable installer 版本打开链接如下图,版...原创 2020-04-23 15:12:29 · 1330 阅读 · 0 评论 -
python3 Robot Framework-失败用例自动重跑
python3 Robot Framework-失败用例自动重跑使用自动化脚本进行测试,经常受环境影响等各方面导致本能成功的脚本失败,下面介绍了RFS框架下,失败重跑的方法:通过改写RobotFramework源代码增加–retry选项,实现test级别的失败用例自动再执行:失败用例会重跑N次,直至成功or 耗尽重试次数,生成的日志和报告文件中只会体现最后一次执行的结果。修改代码如下:一、...原创 2020-03-23 11:28:06 · 1170 阅读 · 2 评论 -
Appium微信公众号测试
Appium微信公众号测试一、appium环境搭建链接:https://blog.csdn.net/qq_33676825/article/details/103526014二、替换appium目录下的chromedriver驱动2.1、下载chromedriver(2.26)-----因为微信是chrome的57版本,所以这里用2.26版本的驱动即可,版本不符会导致driver.swit...原创 2019-12-13 14:10:59 · 871 阅读 · 0 评论 -
Appium在线安装实用小技巧
Appium在线安装实用小技巧1、安装nodejshttps://nodejs.org/en/download/ 到官网下载nodejs2、安装nodejs默认安装或者自定义安装均可3、检查是否安装成功启动cmd,输入npm如出现如下所示提示则表示安装成功4、升级npm在cmd命令窗口中输入:npm install -g npm经试验npm需升级到最新版本appium才能安装...原创 2019-12-13 14:03:46 · 299 阅读 · 1 评论