Java自动化测试脚本备份

news/2024/11/29 7:46:05/

我了解的自动化测试有两种,

一种是点击屏幕,进行随机测试。

另一种是获取指定的事件,进行耐久性测试,比如点击1000次,用手点击测试是不可行的,比如反复点击某个按钮会不会崩溃。测试固定的位置。

这份代码主要是进行摄像头耐久性测试的,只是个简单的demo,先贴代码,整个文件可以github链接找

public class SampleTest {private AndroidDriver<AndroidElement> driver;@Beforepublic void setUp() throws Exception {DesiredCapabilities capabilities = new DesiredCapabilities();capabilities.setCapability("platformName","Android");capabilities.setCapability("deviceName","0123456789ABCDEF");capabilities.setCapability("udid","0123456789ABCDEF");capabilities.setCapability("platformVersion", "4.4");capabilities.setCapability("appPackage", "com.jdcn.sample");capabilities.setCapability("noReset",true);capabilities.setCapability("appActivity", "com.jdcn.sdk.ui.MainActivity");driver = new AndroidDriver<AndroidElement>(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);}@Afterpublic void tearDown() throws Exception {driver.quit();}@Testpublic void appDemo() throws InterruptedException {for (int i = 1; i <= 2000; i++) {System.out.println("第---"+i+"---次");sleep(500);//driver.findElementByName("启动人脸检测").click();driver.findElementById("com.jdcn.sample:id/btn_StartDetect").click();sleep(3000);driver.pressKeyCode(4);}}
}

传github传不上去,可能是公司做了限制,可以在下载资源文件里边下载

另外一个java脚本

import io.appium.java_client.android.AndroidDriver;
import io.appium.java_client.android.AndroidElement;
import org.apache.commons.io.FileUtils;
import org.openqa.selenium.By;
import org.openqa.selenium.OutputType;
import org.openqa.selenium.TakesScreenshot;
import org.openqa.selenium.remote.DesiredCapabilities;import java.io.File;
import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URL;/*** Created by zhaowei20 on 2018/7/15.*/
public class Fresh_TestSDK20180926 {public static AndroidDriver<AndroidElement> driver = null;public static void main(String[] args) {//设置APK路径File classpathRoot = new File(System.getProperty("user.dir"));File appDir = new File(classpathRoot, "apps");File app = new File(appDir, "app-debug.apk");//apk名称//设置自动化相关参数DesiredCapabilities capabilities = new DesiredCapabilities();capabilities.setCapability("platformName", "Android");capabilities.setCapability("deviceName", "10.13.109.182:5555");capabilities.setCapability("udid", "10.13.109.182:5555");//capabilities.setCapability("platformVersion","7.0");capabilities.setCapability("noReset", true);capabilities.setCapability("app", app.getAbsolutePath());capabilities.setCapability("appPackage", "com.hjimi.colordepth");capabilities.setCapability("appActivity", "com.hjimi.colordepth.MainActivity");try {driver = new AndroidDriver<AndroidElement>(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);} catch (MalformedURLException e) {e.printStackTrace();}for (int i = 0; i < 500; i++) {try {Thread.sleep(1000 * 3);/* By by = new By.ById("btn_StartDetect");//By by2 = new By.ById("iv_fp_layout_switch_pay_close");if (!isElementExist(driver,by)) {driver.pressKeyCode(4);Thread.sleep(1000 * 1);}*/driver.findElementById("btn_StartDetect").click();System.out.println(i);Thread.sleep(1000 * 5);takeScreenShot(driver,"screenshot" + System.currentTimeMillis()+".jpg");driver.pressKeyCode(4);} catch (InterruptedException e) {e.printStackTrace();}}}public static void takeScreenShot(TakesScreenshot driver, String fileName) {String folderPath = "D:\\7fresh稳定性截图\\screenshotSDK-20180926-中崎";File screenShotFile = driver.getScreenshotAs(OutputType.FILE);String filePath = folderPath + "\\" + fileName;try {FileUtils.copyFile(screenShotFile,new File(filePath));} catch (IOException e) {e.printStackTrace();}}public static boolean isElementExist(AndroidDriver<AndroidElement> driver,By by) {try {driver.findElement(by);return true;}catch(Exception e) {return false;}}
}

 


http://www.ppmy.cn/news/668618.html

相关文章

vs2008能用c语言吗,如何用VS2008编写C语言(2)

11-20阅读数4万 前几天&#xff0c;GitHub 有个开源项目非常火&#xff0c;只要输入标题就可以生成一篇长长的文章。背后实现代码一定很复杂吧&#xff0c;里面一定有很多高深莫测的机器学习等复杂算法只是&#xff0c;当我看了源代码之后...博文 11-25阅读数2万 一、简介(Data…

Android开发中的一些小知识点记录(101-120)

编写不易&#xff0c;如有转载&#xff0c;请声明出处&#xff1a;http://blog.csdn.net/zxc514257857/article/details/118554522 Android开发中的一些小知识点记录&#xff08;1-20&#xff09; &#xff08;21-40&#xff09;&#xff08;41-60&#xff09;&#xff08;61-8…

打开钱箱的操作方法

USB端口&#xff0c;可以当COM口操作的。直接用COM控件往端口写数据就行了。 我用的是SPcomm控件。 var tmpStr: string; esc: TOutBufPassThrough; begin cm1.CommName : edt1.Text; cm1.StartComm; begin cm1.WriteCommData(PChar(tmpStr), Length(tmpStr)); cm1.WriteCommDa…

连锁店管理系统如何助力零售业

当前时代做生意的成本越来越高&#xff0c;吸引顾客越来越困难&#xff0c;对于实体店来说&#xff0c;面对着电商、同行的冲击&#xff0c;以及今年上半年疫情的影响&#xff0c;顾客份额的竞争已经进入白热化状态。Javashop连锁店管理系统能帮助零售门店锁定固定消费群体&…

动态链接库 (DLL)

目录 1 DLL是什么 2 静态链接库和动态链接库 2.1 静态库 2.2 动态库 3 使用动态链接库的好处 1 DLL是什么 DLL 是 Dynamic Link Library 的缩写&#xff0c;译为“动态链接库”。DLL也是一个被编译过的二进制程序&#xff0c;可以被其他程序调用&#xff0c;但与 exe 不同…

【专精特新周报】邦德股份北交所上市,首日收涨27.86%;12家创新层公司被降层;2022年国家新增支持五百家左右专精特新小巨人...

关注ITValue&#xff0c;看企业级最新鲜、最价值报道&#xff01; 上周两家企业北交所上市申请获受理&#xff1b;六家企业通过北交所上市辅导&#xff1b;天济草堂、硅烷科技两家企业被暂缓审议&#xff1b;北京市鼓励“专精特新”制造业企业数字化转型&#xff0c;最高奖励10…

c# 中崎_C#版OPOS打印(基于北洋OPOS SDK二次开发包,支持EPSON和北洋、佳博、商祺等支持标准ESC/POS指令的POS打印机) | 学步园...

C#版OPOS打印(基于北洋OPOS SDK二次开发包,支持EPSON和北洋、佳博、商祺等支持标准ESC/POS指令的POS打印机) 收藏 C#版OPOS打印 基于北洋OPOS SDK二次开发包,支持EPSON和北洋、佳博、商祺等支持标准ESC/POS指令的POS打印机 支持并口,串口,网口,USB口,驱动方式等多种端口 支持开…

c# 中崎_C#版OPOS打印(基于北洋OPOS SDK二次开发包,支持EPSON和北洋、佳博、商祺等支持标准ESC/POS指令的POS打印机)...

C#版OPOS打印(基于北洋OPOS SDK二次开发包,支持EPSON和北洋、佳博、商祺等支持标准ESC/POS指令的POS打印机) 收藏 C#版OPOS打印 基于北洋OPOS SDK二次开发包,支持EPSON和北洋、佳博、商祺等支持标准ESC/POS指令的POS打印机 支持并口,串口,网口,USB口,驱动方式等多种端口 支持开…