自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(34)
  • 资源 (5)
  • 收藏
  • 关注

原创 前端自动化测试框架Cypress(二十三)生成测试报告(二)

一、编写动态挑选测试用例运行代码在项目根目录文件夹下简历utils文件夹,在此文件夹下新建PickTestsToRun.js//PickTestsToRun.js/*本段代码更改it和describe的行为,使之实现类似mocha中的grep功能,接受如下四个参数1、-i <value>,仅运行指定的it()。该it()的描述中含有<value>2、-I <value>,仅运行指定的describe()。该describe()的描述中含有<value&gt

2020-12-02 11:50:12 791

原创 前端自动化测试框架Cypress(二十三)生成测试报告(一)

因为Cypress也是在Mocha的基础上构建的,所以任何为Mocha构建的报告生成器都可以在Cypress里使用。这里有一个Mocha内建报告生成器列表:Mocha内建报告生成器我们同样为Mocha添加了另外两个普遍使用的第三方的报告生成器。同样地构建在Cypress里,你可以不用额外安装直接使用:teamcityjunit最后,我们也支持自定义,或其他第三方的报告生成器。你知道吗?你可以利用Mocha使用多报告生成器?这通常在CI的时候是很有用的。典型的情况是,我们看到使用者用默认的

2020-07-23 09:45:37 2175

原创 前端自动化测试框架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 2970

原创 前端自动化测试框架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 1640

原创 前端自动化测试框架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 1075

原创 前端自动化测试框架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 1758

原创 前端自动化测试框架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 1267

原创 前端自动化测试框架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 1100

原创 前端自动化测试框架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 4775 1

原创 前端自动化测试框架Cypress(十五)--- 上传文件cypress-file-upload

安装插件cypress-file-uploadcmd进入项目根目录npm install --save-dev cypress-file-upload导入插件在cypress/support/commands.js导入插件cypress-file-uploadimport 'cypress-file-upload';实例/* Plain HTML input */const yourFixturePath = 'data.json';cy.get('[data-cy="file-in

2020-06-12 17:34:39 3995 5

原创 前端自动化测试框架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 3056

原创 前端自动化测试框架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 1578

原创 前端自动化测试框架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 869

原创 前端自动化测试框架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 510

原创 前端自动化测试框架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 744 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 1318 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 7994 5

原创 前端自动化测试框架Cypress(八)--xpath定位

安装插件 cypress-xpathnpm安装npm install -D cypress-xpathyarn安装yarn add cypress-xpath --dev将cypress-xpath导入项目 cypress/support/index.jsimport 'cypress-xpath'//orrequire('cypress-xpath')使用xpath定位it('finds list items', () => { cy.xpath('//ul[@clas

2020-06-10 17:18:30 3546 1

原创 前端自动化测试框架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 1153

原创 前端自动化测试框架Cypress(六)--iframe元素定位

单层iframe<iframe name="" frameborder="0" id="x-URS-iframe" scrolling="no"> <form id='login-from'> <div class="inputbox" id="account-box"> <input data-placeholder="邮箱帐号或手机号码" name="email" data-required="true" class="j- inputtext

2020-06-10 15:15:39 3921

原创 前端自动化测试框架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 2793

原创 前端自动化测试框架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 3881

原创 前端自动化测试框架Cypress(三)--百度账号登录实例

百度登录用例打开百度首页点击登录按钮并选择用户名登录输入用户名并判断用户名输入成功输入密码并判断密码输入成功点击登录按钮判断登录账号用户昵称//login_baidu.js//孩儿她们爹///<reference types="cypress"/>describe("百度贴吧",function(){ beforeEach(function () { cy.visit("https://www.baidu.com/") });

2020-06-10 10:53:34 2080

原创 前端自动化测试框架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 2318 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 3642 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 5231 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 3011 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 1170

原创 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 1304

原创 python3 Robot Framework-失败用例自动重跑

python3 Robot Framework-失败用例自动重跑使用自动化脚本进行测试,经常受环境影响等各方面导致本能成功的脚本失败,下面介绍了RFS框架下,失败重跑的方法:通过改写RobotFramework源代码增加–retry选项,实现test级别的失败用例自动再执行:失败用例会重跑N次,直至成功or 耗尽重试次数,生成的日志和报告文件中只会体现最后一次执行的结果。修改代码如下:一、...

2020-03-23 11:28:06 1135 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 851

原创 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 287 1

原创 HTMLTestRunner.py二次开发加入skiped用例统计、失败自动截图并整合到报告中

标题HTMLTestRunner.py二次开发加入skiped用例统计、失败自动截图并整合到报告中修改前效果:修改前代码:#-*- coding: utf-8 -*-"""A TestRunner for use with the Python unit testing framework. Itgenerates a HTML report to show the result a...

2019-12-11 11:06:53 606

原创 Python+unittest失败重新运行并覆盖报告

Python+unittest失败重新运行并覆盖报告用例失败自动重新运行一直困扰着诸多测试人员,在网上找寻了半天一直也没有找到一个能够完美解决的方案,普遍都存在最后一个用例失败后会再次重新运行整个suite并在报告中显示多个相同的失败用例的情况。笔者为了解决该问题兼职煞费苦心,终于,黄天不负有心人,通过不懈努力和不断的调试终于在此基础上完美解决了该问题,并整合两次运行结果将最贴近的结果整合到报告...

2019-12-06 09:55:51 1538 4

python+uiautomator.py

import base64 """ 界面元素基础操作 """ import uiautomator2 as u2 from Config.Config import Config from Api.Public.PyApiLog import PyApiLog import datetime import os import time from unittest import TestCase class Action: def __init__(self): pass def connect_wifi(self, ip): """ 通过WiFi连接设备:ip根据情况自己修改 :param ip: :return: """ return u2.connect_wifi(ip) def connect_usb(self): """ 通过USB连接设备 :return: """ return u2.connect_usb()

2020-04-27

UIAutomatorAPI详解

Android 4.3发布的时候包含了一种新的测试工具–uiautomator,uiautomator是用来做UI测试的。也就是普通的手工测试,点击每个控件元素 看看输出的结果是否符合预期。比如 登陆界面 分别输入正确和错误的用户名密码然后点击登陆按钮看看是否能否登陆以及是否有错误提示等。本资源整合了所有uiautomator的api,希望对有需要的便宜有所帮助

2019-12-11

python+uiautomator2.zip

本框架使用python语言开发,结合uiautomator2 UI自动化测试框架,整合并优化HTMLTestRunner报告工具,实现skiped用例统计、失败用例自动截图并整合到报告中。希望能为有需要的便宜提供帮助,

2019-12-11

HTMLTestRunner.py优化

结合https://download.csdn.net/download/qq_33676825/12020711这个使用将更加完美

2019-12-09

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除