Java自动化测试脚本备份

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

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

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

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

public class SampleTest {
    private AndroidDriver<AndroidElement> driver;

    @Before
    public 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);
    }

    @After
    public void tearDown() throws Exception {
        driver.quit();
    }

    @Test
    public 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;
        }
    }
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值