我在测试中作为SD工作。我是Appium Automation工具的新手,这个工具非常难为我设置环境。
我引用了以下链接:: http://unmesh.me/category/appium/
此链接帮助我通过命令行安装Node.js和appium。但我不确定这是否正确。
我从命令行得到以下消息:
mani-kandans-MacBook-Pro:platform-tools manikandan $ info:欢迎来到Appium v0.8.2(REV e9cc66197ad6a3496322bd77a8699509fc761b69) info:Appium REST http接口监听器在0.0.0.0:4723上启动 info - socket.io开始
在此之后我不知道。如何编写测试用例并通过Appium运行它?
如果您有兴趣分享您对Appium工具的了解。请指导我。
答案 0 :(得分:15)
第一部分: - 。您似乎已使用节点server.js启动了appium服务器
- 您可以通过浏览器中的localhost:4723/wd/hub/status
检查服务器,这将返回服务器的一些详细信息。你已经做到了。
命令输出如下所示,确认服务器已启动:
info: Welcome to Appium v0.8.1 (REV ***********************************)
info: Appium REST http interface listener started on 0.0.0.0:4723
info - socket.io started
第二部分: - 。接下来,您将使用selenium RC for Python,Java或c#或您的语言选择。我使用了c#并且可以提供示例,这应该与您的测试类似。
将selenium添加到c#类:using OpenQA.Selenium.Remote;
您将所有数据传递给selenium所需的功能对象。
存在一些自定义所需功能,例如:
'设备ID'将您连接的设备或AVD带到命令和应用程序,该命令和应用程序将具有您要安装的apk的本地路径。如果已经存在已撤销的应用程序,则会在启动时对其进行签名和安装,它将为您跳过此步骤。
DesiredCapabilities caps = new DesiredCapabilities();
caps.SetCapability("app-package", "com.myapp.test");
caps.SetCapability("browserName", "");
caps.SetCapability("device", "Android");
caps.SetCapability("app-activity", "com.myapp.SplashActivity");
caps.SetCapability("takesScreenshot", true);
caps.SetCapability("version", "4.1.2");
caps.SetCapability("device ID", "uniquedeviceid");
caps.SetCapability("app", @"C:\path to\app\on\pc\app.apk");
按照您创建的功能创建一个远程Web驱动程序对象,传递您使用过的中心网址,例如http://localhost:4723/wd/hub
和您创建的所需功能。
RemoteWebDriver driver = new RemoteWebDriver(new Uri("http://localhost:4723/wd/hub/"), caps);
此行使用Appium服务器的ip或主机开始侦听请求。 对我来说,这个步骤标志安装并启动附加设备上的应用程序,希望这对你也一样。 这是您编写的selenium测试连接到Appium服务器的地方。
现在使用创建的driver
对象,您可以访问selenium rc命令,其中Appium已经为Android测试实现了许多替代方案。
在每个期间,您的Appium服务器控制台窗口都会显示是否存在任何问题。
输出将采用颜色编码,以帮助识别此窗口中的故障,但您可以按照自己的方式处理,并在需要时输出到文件。
多个设备的更新 我不确定使用多个设备,我会考虑selenium grid我之前尝试将2台设备添加到一台机器上,并且测试有一些混乱,即adb无法区分,无论设备ID是否与配置和命令相加。 Appium团队一直在改进为服务器添加网格功能,我建议您查看Appium Grid(链接已更新)
我为缺乏网格经验而道歉,以便进一步帮助您。
问候,Brian
答案 1 :(得分:3)
这似乎是迟到的回复,但我仍然认为这篇帖子可以帮助一些人,一步一步寻找指南在Windows平台上安装Appium
http://qaautomationworld.blogspot.in/2014/12/appium-setup-for-android-windows.html
此链接主要涉及以下部分
Appium安装
a)使用node.js
b)使用Appium.exe
答案 2 :(得分:1)
这是appium android的env.rb文件。
require 'rubygems'
require 'appium_lib'
# Start Android driver
apk = {
device: :android,
app_path: (true && ENV['apk']) || 'path to apk',
app_package: (true && ENV['package']) || 'com.foo.cam',
app_activity: (true && ENV['activity']) || '.SplashActivity',
app_wait_activity: (true && ENV['activity']) || '.MainActivity',
}
Appium::Driver.new(apk).start_driver
Appium.promote_appium_methods Object
log = Logger.new(STDOUT)
case ENV['log']
when 'WARN'
log.level = Logger::WARN
when 'DEBUG'
log.level = Logger::DEBUG
when 'INFO'
log.level = Logger::INFO
when 'ERROR'
log.level = Logger::ERROR
when 'FATAL'
log.level = Logger::FATAL
when 'UNKNOWN'
log.level = Logger::UNKNOWN
else
log.level = Logger::DEBUG
end
log.debug('starting suite')
Before do
@test_env = {
device: driver,
main_activity: (true && ENV['main_activity']) || 'grid.GridLoginActivity',
logger: log
}
end
# Optional--clears alerts
After ('@rate_limit') do |scenario|
log = @test_env[:logger]
device = @test_env[:device]
if scenario.failed?
begin
wait = Selenium::WebDriver::Wait.new :timeout => 1
wait.until { device.alert_accept }
log.debug('cleared rate limit dialog')
rescue
log.error("dialog didn't pop.")
end
end
log.debug('rate_limit finished')
end
After ('@network_connection') do |scenario|
log = @test_env[:logger]
device = @test_env[:device]
if scenario.failed?
begin
wait = Selenium::WebDriver::Wait.new :timeout => 1
wait.until { device.alert_accept }
log.debug('cleared network connection issue')
rescue
log.error("dialog didn't pop.")
end
end
log.debug('network_connection finished')
end
答案 3 :(得分:0)
要先安装Appium,首先要安装所有下载必需的工具:
1)Android Studio
2)Java的Appium Jar文件
3)Java Selenium客户端插件
4)Appium服务器
5)Java SDK
下载所有这些工具后,请按照本博客中分步提及的步骤进行==> Installation Process of Appium in Android Studio
答案 4 :(得分:0)
在这里,我试图解释使用 Appium 配置和运行 Android 移动自动化测试用例的完整端到端设置说明
Download Java and set Java_Home in environmental variables
Download Android STUDIO from below link
https://developer.android.com/studio/index.html
Check Android installation path in Machine
Set Android_Home Environmental variables path to SDK location and include bin folder paths in PATH variable
Open Android Studio and configure Virtual device/Emulator
Open Emulator and check if it is working.
Download Node.js
https://nodejs.org/en/download/
Set Node_Home Environmental variables path
Set npm Environmental variables path
Download Appium Server from Node
Download Appium and Selenium Java client library
Install Eclipse – Create a Project in Eclipse - configure Appium libraries
Add All dependencies
//You can download any node module only using npm
npm install – g appium – Latest Stable release version 1.16.0 – Android 10+ version
npm uninstall -g appium // g stands for global
Appium – starts the server