注意:此处省略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手机需要设置屏幕始终是亮的状态。
相关推荐
Java:Selenium2+Java自动化测试实战Java:Selenium2+Java自动化测试实战Java:Selenium2+Java自动化测试实战Java:Selenium2+Java自动化测试实战Java:Selenium2+Java自动化测试实战Java:Selenium2+Java自动化测试...
《Selenium2自动化测试实战——基于Python语言》是一本针对软件测试工程师,尤其是对Web应用程序自动化测试感兴趣的读者的专业书籍。作者虫师在2016年10月编写了这本书,尽管时间已过去数年,但Selenium作为自动化...
本书介绍了如何用Python语言调用Selenium WebDriver接口进行自动化测试。主要内容为:基于Python 的 Selenium WebDriver 入门知识、Selenium Python脚本、使用unittest 编写单元测试、生成HTML格式的测试报告、元素...
基于Selenium 2的自动化测试 从入门到精通PDF电子书下载 带书
【Selenium 2 自动化测试实战 基于PYTHON语言】 Selenium 是一款强大的Web自动化测试工具,尤其适用于浏览器自动化。Selenium 2(也称为Selenium WebDriver)是其发展的一个重要阶段,它提供了对多种浏览器的支持,...
《零成本实现Web自动化测试-基于Selenium和Bromine》是温素剑撰写的一本技术书籍,专注于介绍如何在不产生额外费用的情况下,利用开源工具进行高效的Web自动化测试。书中的内容涵盖了一系列与Web自动化测试相关的...
Selenium 2自动化测试实战 基于Python语言 企业批量购书 分享 关注商品举报 Selenium 2自动化测试实战 基于Python语言 这不仅是一本Selenium2自动化测试书,同时还是一本实用的Python基础编程书
首先,了解Selenium是进行Web自动化测试的基础。Selenium提供了Selenium IDE,这是一个基于浏览器的记录和回放工具,它允许测试人员录制用户的操作并转换成测试脚本。通过Selenium IDE,可以很快地创建测试用例,并...
在IT行业中,自动化测试是提升效率、确保产品质量的重要手段,而Selenium则是一款广泛应用于Web应用测试的自动化框架。本文将深入探讨Selenium 3.12版本在自动化测试中的应用,以及如何利用它来测试网页系统。 ...
在进行基于Selenium的自动化测试时,可能还需要集成其他工具或框架,比如用于版本控制的Git,用于持续集成的Jenkins,用于测试管理的TestNG或JUnit等。 综上所述,Selenium在Web软件自动化测试中有着广泛的应用,它...
本文介绍的是一本关于Selenium自动化测试的实践指南,它以Python语言为编程基础,提供了一系列自动化测试的实践技巧和实例。以下知识点将详细介绍书中所涉及的关键内容。 首先,了解Selenium。Selenium是一个用于...
本资源包“Selenium自动化测试:基于Python语言.rar”显然是一个专注于介绍如何使用Python进行Selenium测试的教程资料。 在Python中,Selenium主要通过`selenium`模块提供,它提供了WebDriver接口,可以与各种...
本文主要探讨了基于Python语言和Selenium自动化测试工具在毕业设计中的应用,并分析了引入自动化测试的意义以及如何搭建自动化测试环境。 一、自动化测试的概念与重要性 自动化测试是通过预先编写的测试脚本,利用...
自动化测试工具Selenium书籍(9本)目录知识点(思维导图加图).rar 根据如下9本Selenium书籍收集整理: 2013年《Selenium自动化测试指南》 ...2020年《全栈软件测试自动化 Selenium和Appium (Python版)》
资源名称:SELENIUM 2 自动化测试实战 基于PYTHON语言内容简介:《Selenium 2自动化测试实战——基于Python语言》共分 14 章。第 1 章是自动化测试相关基础知识的介绍;第 2 章到第 10 章是《Selenium 2自动化测试...
资源包括Selenium自动化测试:基于Python语言的文档以及每章节的代码
《Selenium2 Python自动化测试实战》是一本面向初级和中级测试工程师的指南,旨在教授如何使用Python和Selenium WebDriver进行Web自动化测试。这本书由一位热衷于技术实践和分享的作者编写,通过大量实例展示了如何...
使用Java+Maven+Selenium+TestNG+Jedis+Jenkins搭建的WebUI自动化测试框架,资源的大体介绍如下链接http://note.youdao.com/noteshare?id=dc564343fd126f497074f6d7560c9f5e&sub=387EB3B1BAC945CEA71A5BDBC6484473