- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
任何人都可以帮助我设置环境以集成 Appium
工具进行自动化测试。我一直停留在 uiautomatorviewer
。
我已经设置了 Android Studio 并安装了 JDK。
最佳答案
设置环境变量:
Android SDK 路径:C:\Users\user_name\AppData\Local\Android\Sdk
在环境变量中设置ANDROID_HOME:并从上面设置SDK的路径
在 Android SDK 文件夹中,您需要将三个特定文件夹添加到 Path 变量中。这些文件夹是 –
C:\Users\用户名\AppData\Local\Android\Sdk\platform-toolsC:\Users\用户名\AppData\Local\Android\Sdk\toolsC:\Users\用户名\AppData\Local\Android\Sdk\tools\bin
%ANDROID_HOME%\平台工具ANDROID_HOME%\工具%ANDROID_HOME%\tools\bin
设置 PATH 变量:
您应该已经添加了所有 3 个文件夹位置 – ;%ANDROID_HOME%\platform-tools;%ANDROID_HOME%\tools;%ANDROID_HOME%\tools\bin
要验证所有 Android 环境变量是否已正确设置,请打开命令提示符并运行此命令:sdkmanager – -list(请注意,2 个连字符之间不应有空格)。
您还可以在命令提示符下运行此命令:uiautomatorviewer。这将打开 UI Automator 查看器窗口。
在环境变量中设置 JAVA_HOME:
C:\Program Files\Java\jdk1.8.0_131
将此变量添加到 PATH 变量,如下所示:
;%JAVA_HOME%\bin;
要完成自动化设置,请按照以下说明操作:
使用 uiautomatorviewer 捕获屏幕。
Steps for Appium Setup:
1. Install android studio
2 SDK
2. Appium jar files selenium
3. Appium java client jar
4. Java selenium library
5. Appium server
6. Java
7 install pdanet in both system and mobile device co connectivity
8 gson jar files
**steps**
Open android Studio
Create new project
Create new basic activity
Copy java client jar file and paste in the app/lib folder
select all jar copied files in the lib folder then right click and click on "Add as library".
select build.gradle then rebuild project
commit jUnit and paste following code beneath of it
testCompile 'org.assertj:assertj-core:2.0.0'
testCompile 'org.testng:testng:6.9.10'
sync the code
Right click on Package Name the create a new class
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;
import org.testng.annotations.AfterMethod;
import org.testng.annotations.BeforeMethod;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.concurrent.TimeUnit;
public class WaitTest {
RemoteWebDriver driver;
@BeforeMethod
public void setUp() throws MalformedURLException {
// Created object of DesiredCapabilities class.
DesiredCapabilities capabilities = new DesiredCapabilities();
// Set android deviceName desired capability. Set your device name.
capabilities.setCapability("deviceName", "4200174ad22b7200");
// Set BROWSER_NAME desired capability. It's Android in our case here.
capabilities.setCapability(CapabilityType.BROWSER_NAME, "Android");
// Set android VERSION desired capability. Set your mobile device's OS version.
capabilities.setCapability(CapabilityType.VERSION, "5.1.1");
// Set android platformName desired capability. It's Android in our case here.
capabilities.setCapability("platformName", "Android");
// Set android appPackage desired capability. It is
// com.android.calculator2 for calculator application.
// Set your application's appPackage if you are using any other app.
capabilities.setCapability("appPackage", "in.dishtv.svctechnician");
// Set android appActivity desired capability. It is
// com.android.calculator2.Calculator for calculator application.
// Set your application's appPackage if you are using any other app.
capabilities.setCapability("appActivity", "in.dishtv.svctechnician.activity.MyActivity");
// Created object of RemoteWebDriver will all set capabilities.
// Set appium server address and port number in URL string.
// It will launch calculator app in android device.
driver = new RemoteWebDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);
//driver.manage().timeouts().implicitlyWait(15, TimeUnit.SECONDS);
}
@org.junit.Test
public void LoginTest1() {
try {
setUp();
} catch (MalformedURLException e) {
e.printStackTrace();
}
driver.findElement(By.id("userNameEdittext")).sendKeys("james");
driver.findElement(By.id("passwordEdittext")).sendKeys("bond");
driver.findElement(By.id("submitButton")).click();
driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
}
@AfterMethod
public void End() {
driver.quit();
}
}
Do not import Selenium jar (because of it's too long size) use Gradle link from Below:
**compile group: 'org.seleniumhq.selenium', name: 'selenium-server-standalone', version: '2.53.0'**
Start Appium server
concect device
run tests in the android studio
关于android - 如何使用studio在android中设置环境变量以激活uiautomatorviewer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51667574/
我目前正在使用发现的重力脚本 here为了在我的网页上创建重力效果,我正在本地开发 atm。 我的问题是,重力效果的激活似乎是在鼠标移动时进行的,而我需要它在文档准备好时才触发。 google.cod
我正在尝试关注 Railsbridge Intallfest 并尝试将我的第一个 Rails 应用程序部署到 heroku。我不断收到以下错误消息: Gem::LoadError: Specified
很难说出这里问的是什么。这个问题是含糊的、模糊的、不完整的、过于宽泛的或修辞性的,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开它,visit the help center 。 已关
Home-tab 是默认选中的,但是它的颜色是灰色的:( Home Bla Contact
我没有得到它的工作,我不知道为什么......遗憾的是其他问题 + 答案没有帮助。 测试设备: iPhone 6 iPad 2 相关代码: override func viewWillTransiti
我试图加载一个 View ,就像用户已经按下 UISearchBar 一样。我希望 SearchController 加载顶部的 UISearchBar 以及取消按钮。 我已经试过了: func ac
试图在 if whiteDotDist < centerRadius - whiteDotRadius 时获取代码执行它下面的所有代码都是事件的,并且当它下面的代码被执行时它再次变为非事件状态直到if
我正在使用 anaconda python。所以每次,在我的 mac 终端中,我输入终端命令: source /Users/mylaptop/anaconda/bin/activate /Users/
在我的 Angular 项目中,我有这种代码: this.swUpdate.available.subscribe(() => { ... }); 它工作正常,但给了我关于 activated 被
我想弄清楚 Julia 包是如何工作的,因为我喜欢容器化环境。我真的很挣扎。 在 python 中,我会做类似 conda create env --name ds 的事情创建环境然后安装容器化包我会
我的宏中有一些代码如下 ChDir File_pth Workbooks.Open filename:= File_pth & "\" & open_tkt Workbooks.Open filena
长话短说,我有两张纸,一张是“原始数据”,另一张是“结果”。我试图让结果表从“原始数据”表的每第七行中提取文本或数字,因此“结果”中的 A1 将是原始数据中的 A1,“结果”中的 A2 将是“原始数据
我不知道如何做到这一点,或者我是否可以做到这一点。我有一个 jQuery UI Accordion,多个部分,每个部分包含多个 anchor 标记,每个 anchor 标记都有一个唯一的字符串 id。
我不敢相信我还没有找到任何关于此的文档,但我想知道如何命令键盘激活并接收来自它的输入。我可以找到在编辑文本字段时操作弹出键盘的所有示例。谢谢 最佳答案 您还可以使用 UIKeyInput 协议(pro
我正在尝试为我的 Electron 应用程序生成NSIS安装程序的日志。为此,我创建了一个文件'logging.nsh'来定义LogSet和LogText宏。 以下是logging.nsh文件的代码:
几周前,我开始使用 typescript 和 knockoutJS,我有一个具体的问题,但我有解决方案,它太丑了,我无法忍受,但无法从中得到任何更好的东西,有太多代码需要粘贴,但我会尽力描述我的问题:
当我尝试激活我的虚拟环境时收到此错误即源 ~/edu-venv/bin/activate -bash: /home/vagrant/edu-venv/bin/activate: No such fil
要创建触发器,似乎必须发布它才能生效。但是发布需要对“协作”分支进行 PR,这意味着我们甚至在测试触发器是否实际工作之前就必须创建一个 PR,并且还必须创建多个后续 PR,直到我们获得正确的触发器。
我是最近的 IntelliJ Idea 用户,我不知道如何启用 Hibernate。当我右键单击我的项目时,Hibernate 不会出现在“添加框架支持”菜单中(实际上我唯一可以选择的技术是 Groo
要创建触发器,似乎必须发布它才能生效。但是发布需要对“协作”分支进行 PR,这意味着我们甚至在测试触发器是否实际工作之前就必须创建一个 PR,并且还必须创建多个后续 PR,直到我们获得正确的触发器。
我是一名优秀的程序员,十分优秀!