注意:此处省略ADB和Node.js的配置。
代码示例:
package com.hisky.seleniumTest; import java.io.BufferedReader; import java.io.File; import java.io.IOException; import java.io.InputStreamReader; import java.net.MalformedURLException; import java.net.URL; import java.util.ArrayList; import java.util.Arrays; import java.util.List; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.remote.CapabilityType; import org.openqa.selenium.remote.DesiredCapabilities; import org.openqa.selenium.remote.RemoteWebDriver; /** * * @author zhenglin.yang * */ public class AndroidTest { private static WebDriver driver; public static void main(String[] args) { killProcessor("node.exe"); killProcessor("adb.exe"); startAppuim(); launchApp(); clickTest(); } private static void clickTest() { try { driver.findElement(By.name("Storage")).click(); Thread.sleep(1000); driver.findElement(By.name("Backup")).click(); Thread.sleep(1000); driver.findElement(By.name("Locate")).click(); Thread.sleep(1000); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } } private static void launchApp() { File classPath = new File(System.getProperty("user.dir")); File app = new File(classPath, "spark-normal-36.98.apk"); DesiredCapabilities capabilities = new DesiredCapabilities(); capabilities.setCapability("device", "Android"); capabilities.setCapability(CapabilityType.VERSION, "4.4.2"); capabilities.setCapability(CapabilityType.BROWSER_NAME, ""); capabilities.setCapability(CapabilityType.PLATFORM, "Windows"); capabilities.setCapability("app", app.getAbsolutePath()); capabilities.setCapability("app-package", "com.asurion.android.spark"); capabilities.setCapability("app-activity", "com.asurion.android.setup.activity.ZeroActivity"); capabilities.setCapability("app-wait-activity", "com.asurion.android.common.ui.actionbar.MainActionBarActivity"); capabilities.setCapability("newCommandTimeout", 1200); try { driver = new RemoteWebDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities); } catch (MalformedURLException e) { e.printStackTrace(); } System.out.println("launching new activity"); } private static void startAppuim() { List<String> cmdLine = new ArrayList<String>(Arrays.asList(new String[] { "cmd.exe", "/C", "start", "node", "D:/java/eclipse-automation/Appium/node_modules/appium", "--no-reset" })); ProcessBuilder pb = new ProcessBuilder(cmdLine); try { pb.start(); } catch (IOException e) { e.printStackTrace(); } try { Thread.sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } System.out.println("node start"); } private static void killProcessor(String processName) { try { Process p = Runtime.getRuntime().exec(System.getenv("windir") + "\\system32\\tasklist.exe"); BufferedReader br = new BufferedReader(new InputStreamReader(p.getInputStream())); String line = null; while ((line = br.readLine()) != null) { if (line.indexOf(processName) != -1) { String cmd = "taskkill /F /IM " + processName; Runtime.getRuntime().exec(cmd); System.out.println("killing processor:" + processName); } } br.close(); } catch (Exception e) { e.printStackTrace(); } } }
注意:
1、Android客户端放在项目路径下:
D:\java\workspaces\myworkspaces\seleniumTest-0.0.1-SNAPSHOT\spark-normal-36.98.apk
2、Android手机需要设置屏幕始终是亮的状态。
相关推荐
基于Selenium 2的自动化测试 完整版 selenium 自动化 测试
本书介绍了如何用Python语言调用Selenium WebDriver接口进行自动化测试。主要内容为:基于Python 的 Selenium WebDriver 入门知识、Selenium Python脚本、使用unittest 编写单元测试、生成HTML格式的测试报告、元素...
基于Selenium 2的自动化测试 从入门到精通PDF电子书下载 带书
Selenium 2自动化测试实战 基于Python语言 企业批量购书 分享 关注商品举报 Selenium 2自动化测试实战 基于Python语言 这不仅是一本Selenium2自动化测试书,同时还是一本实用的Python基础编程书
虫师2016年10月的书,相当新
Demo_Selenium-3.12:自动化测试的工具和例子。可以用来测试网页方式的web系统。
资源名称:基于Selenium 2的自动化测试 从入门到精通 内容简介:本书向开发人员和测试人员展示了如何使用Selenium进行Web自动化测试。本书从自动化测试的特点娓娓道来,引出了主角Selenium;介绍了Selenium IDE的...
资源名称:SELENIUM 2 自动化测试实战 基于PYTHON语言内容简介:《Selenium 2自动化测试实战——基于Python语言》共分 14 章。第 1 章是自动化测试相关基础知识的介绍;第 2 章到第 10 章是《Selenium 2自动化测试...
selenium2 python自动化测试 PDF学习 本PDF可以学习到如何进行Web自动化测试以多线程运行测试集,自动生成测试报告,最后完成后发送邮件等功能。
资源包括Selenium自动化测试:基于Python语言的文档以及每章节的代码
使用Java+Maven+Selenium+TestNG+Jedis+Jenkins搭建的WebUI自动化测试框架,资源的大体介绍如下链接http://note.youdao.com/noteshare?id=dc564343fd126f497074f6d7560c9f5e&sub=387EB3B1BAC945CEA71A5BDBC6484473
资源包括Selenium自动化测试:基于Python语言的文档以及每章节的代码
SELENIUM 2 自动化测试实战 基于PYTHON语言-------------------------------------------------------
selenium + python的自动化测试书籍,高清版,适合软件自动化测试人员,由浅入深,代码实例丰富,对自学者很有帮助
从 2013 年开始用 Python 和 Selenium 进行自动化测试的实践,其间的过程颇为艰辛,除了官方文档,相关 的资料并不算太多,尤其是中文资料;相比较而言 Java 和 Selenium 网上的资料要更多一些,这其中主要的原因 是...
基于Selenium的web自动化测试
自动化测试工具Selenium书籍(9本)目录知识点(思维导图加图).rar 根据如下9本Selenium书籍收集整理: 2013年《Selenium自动化测试指南》 ...2020年《全栈软件测试自动化 Selenium和Appium (Python版)》
selenium + python的自动化测试书籍,高清版,适合软件自动化测试人员,由浅入深,代码实例丰富,对自学者很有帮助
基于Selenium的Web自动化测试研究,姜莹,王洪波,随着Web应用的发展普及,Web系统的规模和复杂度不断增加,Web系统的测试面临着巨大的挑战。传统的软件测试技术和方法并不完全适用于
本框架只是对 selenium( webdriver ) 原生方法进行了简单的封装,精简为大约 30 个方法,这些方法基本能够胜任于我们的web自动化测试。基于 unittest 单元测试框架,所以测试文件与测试方法遵循unittest开发。自动...