总配置

application.properties

env.resources=src/main/resources/common #配置resource文件所在目录,如.loc定位文件
resources.load.subdirs=2 #配置加载子目录层次
scenario.file.loc=src/main/resources/scenarios #配置场景.feature文件目录
step.provider.pkg=com.quantum.steps #配置自定义关键字包
driver.name=chromeDriver #配置driver的名称
webdriver.chrome.driver=D:/xx/xx/chromedriver.exe #配置diver位置
driver.pluginType=intellij #指定IDE
driver.init.retry.timeout=60 #指定timeout
selenium.wait.timeout=15000 #指定wait.timeout
selenium.success.screenshots=0 #指定成功是否截图
wd.command.listeners=com.quantum.listeners.PerfectoDriverListener #指定监听器
teststep.listeners=com.quantum.listeners.QuantumReportiumListener #指定监听器 ##When enabled your test will be retried from the start
##customizations can be made to your own personal retry analyzer - please see the documentation on our github wiki page
##https://github.com/Project-Quantum/Quantum-Starter-Kit/wiki
#retry.count=1
#retry.analyzer=com.quantum.utils.Retry ##user proxy for API calls - enable this and set you proxy details
##if you encounter unexpected errors when downloading perfecto reports
#proxyHost=127.0.0.1
#proxyPort=8888
#proxyUser=1
#proxyPassword=1 ##enable to turn on parallel data providers
##you must also define in testNg.xml the data provider thread count
##<suite name=....... data-provider-thread-count="10">
#global.datadriven.parallel=true ##set true to fill bean randomly from set of test-data
#bean.populate.random=false ##set 1 to suppress success log, when 0 it will also show verification success message
report.log.skip.success=0 ##Use this key to add test data in the scenario names for Reportium results
#addFullDataToReport=true ##Use this key to pass the skipped tests, by default all the skipped tests will be marked as fail in reportium
#skippedTests=pass #perfecto.capabilities.user=yourname@xxx.com
##generate the security token using this document - https://developers.perfectomobile.com/display/PD/Security+Token
#perfecto.capabilities.securityToken=<<XX_XX_SECURITY_TOKEN>>
#perfecto.capabilities.password=yourpassword
#perfecto.capabilities.automationName=Appium
#perfecto.capabilities.browserName=MobileOS ##switch download reports true/false to download reports.
#perfecto.download.reports=false
#perfecto.download.summaryReports=false
#perfecto.download.video=false
#perfecto.download.attachments=false
#perfecto.report.location= perfectoReports
#perfecto.offlineToken= <<CQ_LAB_SECURITY_TOKEN>>

在指定的步骤包中自定义步骤(关键字)

	@Then("I switch to \"(.*?)\" frame by element")
public static void switchToFrameByElement(String loc) {
new WebDriverTestBase().getDriver().switchTo().frame(new QAFExtendedWebElement(loc));
}

在指定的resource文件夹中编写.loc元素定位文件

#input.box = xpath=//input[@id='kw']
input.box = id=kw
#search.button=["xpath=//input[@id='su']","xpath=//button[@aria-label='Baidu Search']"]
search.button = ["xpath=//input[@id='su']"]

在指定的场景目录中编写.feature文件

@BaiduSearch
Feature: Baidu Search
Scenario: Search CSDN
Given I open browser to webpage "https://www.baidu.com/"
Then I enter "CSDN" to "input.box"
Then I click on "search.button"
Then I wait for "5" seconds

配置TestNG的xml文件

在TestNG的xml文件中调用@BaiduSearch注解,同时可修改application.properties中的属性,如.loc的目录

<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Baidu Search Demo Suite" verbose="0" parallel="tests"
thread-count="100">
<listeners>
<listener class-name="com.quantum.listeners.QuantumReportiumListener"/>
</listeners> <test name="Web Scenarios Test" enabled="true" thread-count="10">
<parameter name="env.resources" value="src/main/resources/baidu"/>
<groups>
<run>
<include name="@BaiduSearch"/>
</run>
</groups>
<classes>
<class name="com.qmetry.qaf.automation.step.client.gherkin.GherkinScenarioFactory"/>
</classes>
</test>
</suite>

Refer

https://blog.csdn.net/Cupupup/article/details/80154544

perfecto使用的更多相关文章

  1. 自动化框架Quantum Automation Framework+cucumber+perfecto

    名词解释 Quantum: 一款基于JAVA的自动化框架,支持手机和桌面WEB的自动化测试.与cucumber和perfecto实现了整合,用于BDD自动化. Refer: http://projec ...

  2. 手机APP测试——Perfecto

    基于 Perfecto mobile cloud 的移动端自动化测试实践 本文将介绍 Pefecto mobile cloud 在移动端自动化测试的应用. Pefecto 将真实移动设备放到 clou ...

  3. 对Android开发者有益的40条优化建议

    下面是开始Android编程的好方法: 找一些与你想做事情类似的代码 调整它,尝试让它做你像做的事情 经历问题 使用StackOverflow解决问题 对每个你像添加的特征重复上述过程.这种方法能够激 ...

  4. 安卓开发经验分享:资源、UI、函数库、测试、构建一个都不能少(转)

    除了高超的武艺,每位黑忍者还需要装备最好的武器.在软件开发的世界里,好的工具能让我们的生活变得更轻松,在更短的时间里写出更棒的代码. 时光回到2008年,那时安卓还很年轻.只有几个相关的博客和谷歌官方 ...

  5. 对 Android 开发者有益的 40 条优化建议

    本文转载于:http://www.oschina.net/translate/40-developer-tips-for-android-optimization?cmp 下面是开始Android编程 ...

  6. 【转】对Android开发者有益的40条优化建议

    下面是开始Android编程的好方法: 找一些与你想做事情类似的代码 调整它,尝试让它做你像做的事情 经历问题 使用StackOverflow解决问题 对每个你像添加的特征重复上述过程.这种方法能够激 ...

  7. [转]对Android开发者有益的40条优化建议

    下面是开始Android编程的好方法: 找一些与你想做事情类似的代码 调整它,尝试让它做你像做的事情 经历问题 使用StackOverflow解决问题 对每个你像添加的特征重复上述过程.这种方法能够激 ...

  8. 【Mood-12】Android开发相关书籍推荐

    新年伊始,找到Android进阶干货若干,2015拜读. 1.Android应用UI设计模式 目前,谷歌Android操作系统在移动市场中风头正劲,并且未来发展势不可挡.<Android应用UI ...

  9. iOS 应用测试最佳实践

    IOS改变了移动游戏,毫无疑问.它为“移动时代”铺平了道路,通过简单的用户体验提供惊人的功能.然而涉及到测试与监控,使用iPhone/iPad移动应用程序是除了简单之外的任何事情. 随着IOS应用市场 ...

随机推荐

  1. Ngnx工作原理(1)

    Nginx 是一个轻量级的HTTP 服务程序,相比其他服务器程序如Apache,Nginx占用内存少,稳定性高,并发处理能力强.同时Nginx 还是一个反向代理服务程序,和邮件代理服务程序.Nginx ...

  2. Springmvc后台接前台数组,集合,复杂对象

    本人转载自: http://blog.csdn.net/feicongcong/article/details/54705933 return "redirect:/icProject/in ...

  3. 安装Anaconda3-201812详解

    Anaconda指的是一个开源的Python发行版本,其包含了conda.Python等180多个科学包及其依赖项.  因为包含了大量的科学包,Anaconda 的下载文件比较大(约 531 MB), ...

  4. QT5.9 QString和字符串转换的乱码问题

    QString转字符串的乱码: 先在头文件加入: //解决QString到char的中文乱码 #if _MSC_VER >= 1600 #pragma execution_character_s ...

  5. PAT Basic 1004 成绩排名 (20 分)

    读入 n(>)名学生的姓名.学号.成绩,分别输出成绩最高和成绩最低学生的姓名和学号. 输入格式: 每个测试输入包含 1 个测试用例,格式为 第 1 行:正整数 n 第 2 行:第 1 个学生的姓 ...

  6. redis3.2 源码安装

    wget http://download.redis.io/releases/redis-3.2.3.tar.gz tar -zxvf redis-.tar.gz cd redis make & ...

  7. Gym - 101170B British Menu (强连通缩点+dp)

    题意:求一个有向图上的最长路(每个强连通分量的点不超过5个) 首先对强连通分量缩点,暴力预处理出len[k][i][j]表示第k个强连通分量里的第i个点和第j个点之间的最长路径,设状态(k,i,f)表 ...

  8. JavaWeb--ServletContext

    https://www.jianshu.com/p/31d27181d542 java类中获取ServletContext的方法 起因是我想要获取一个相对路径,需要用到servletContext的g ...

  9. 【转载】Java项目中常用的异常处理情况总结

    一,JDK中与异常相关的类 分析: Java中的异常分类: Throwable类有两个直接子类: Exception:出现的问题是可以被捕获的: Error:系统错误,通常由JVM处理. 可捕获的异常 ...

  10. 2017 趋势科技 研发4.26(offer)

    南京趋势科技外企(offer) 笔试 在华科线下笔试的,推荐多参加线下笔试,因为相对难度会低一些,好进一些. 当时笔试的估计只有60几个,然后选择题感觉有的不会,编程简单. 第二天去面试的时候,hr小 ...