环境:
Windows 10
Tensorflow=1.1.0
python=2.7
global modules path = C:\Users\natha\AppData\Roaming\npm
appium = 1.19.1
node = 14.15.0
npm=6.14.9
test-ai-classifies=2.1.1
先决条件;
安装Android SDK并配置ANDROID_HOME
安装Java SDK并配置JAVA_HOME
Appium安装步骤:
npm install -g appium --drivers=xuitest,uiautomator2
npm install -g wd
appium -a 127.0.0.1 -p 4723
npm install -g appium-doctor
appium-doctor
(appium 1.19.1 is installed)
test-ai-classifier 安装 - 全局:
npm install -g [email protected] /cdn-cgi/l/email-protection
npm install --unsafe-perm --verbose -g node-sass
npm install -g node-gyp --unsafe-perm=true
//NODE_GYP_FORCE_PYTHON=python
//NODE_GYP_FORCE_PYTHON=python2
npm install -g [email protected] /cdn-cgi/l/email-protection --unsafe-perm=true --build-from-source --python=python2.7
test-ai-classifier 安装 - 在 appium 路径中:
where appium
C:\Users\natha\AppData\Roaming\npm\appium
cd C:\Users\natha\AppData\Roaming\npm\node_modules\appium\
npm install [email protected] /cdn-cgi/l/email-protection
npm install --unsafe-perm --verbose node-sass
npm install node-gyp --unsafe-perm=true
npm install @tensorflow/[email protected] /cdn-cgi/l/email-protection
npm install [email protected] /cdn-cgi/l/email-protection
全局节点模块配置:npm 在哪里安装包? https://stackoverflow.com/questions/5926672/where-does-npm-install-packages/27298237如果要更改全局模块路径,
使用 npm config edit 并将 prefix = /my/npm/global/modules/prefix 放入文件中
change from
; prefix=C:\Program Files\nodejs
to
; prefix=C:\Users\natha\AppData\Roaming\npm
如何验证 test-ai-classifier 安装?
[https://github.com/cloudgrey-io/appiumpro/issues/9][2]
If you go into the place where appium is installed, and run node, you'll get an interactive node.js prompt. From there, run require("test-ai-classifier");
If you get an error, it means the classifier module is not correctly installed and accessible to appium.
If not, it means everything is good, just make sure you restarted the appium server after installing it.
在IntelliJ中创建一个java类并添加以下代码:
package com.example.appium;
import io.appium.java_client.MobileBy;
import org.openqa.selenium.remote.CapabilityType;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.openqa.selenium.support.ui.ExpectedConditions;
import org.testng.annotations.Test;
import io.appium.java_client.android.AndroidDriver;
import java.io.File;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.HashMap;
import java.util.concurrent.TimeUnit;
public class TestAppiumAI {
private static AndroidDriver driver;
@Test
public void installTest() throws MalformedURLException, InterruptedException {
DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability("deviceName", "MotoG");
capabilities.setCapability("platformVersion", "7.1.1");
capabilities.setCapability("platformName","Android");
capabilities.setCapability("udid", "ZH33L2Z6KL");
capabilities.setCapability("automationName", "UiAutomator2");
capabilities.setCapability("skipServerInstallation", "true");
capabilities.setCapability("autoGrantPermissions", "true");
capabilities.setCapability("noReset", "false");
capabilities.setCapability("appPackage", "com.android.settings");
capabilities.setCapability("appActivity","com.android.settings.Settings");
HashMap<String, String> customFindModules = new HashMap<String, String>();
customFindModules.put("ai", "test-ai-classifier");
capabilities.setCapability("customFindModules", customFindModules);
capabilities.setCapability("shouldUseCompactResponses", false);
driver = new AndroidDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);
driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);
//driver.findElement(MobileBy.custom("ai:search")).click();
driver.findElement(MobileBy.custom("ai:bluetooth")).click();
driver.quit();
}
}
创建 TestNG.xml,如下所示:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Regression" thread-count="2" parallel="tests" preserve-order="true" verbose="2">
<test name="Real Device1">
<classes>
<class name="com.example.appium.TestAppiumAI"/>
</classes>
</test>
</suite>
从命令行启动 Appium 服务器:
appium -a 127.0.0.1 -p 4723
右键单击 TestNG.xml,然后执行。
观察设置应用程序下的蓝牙是否被选中。
请随意获取源代码/项目
[https://github.com/anbunathan/appium-examples/blob/master/Template1/src/test/java/com/example/appium/TestAppiumAI.java][2]
另外,我还添加了一个视频:https://youtu.be/CFDSejLJEQY https://youtu.be/CFDSejLJEQY