我在测试中做SD的工作。我是新来的Appium自动化工具,这个工具很难为我设置环境。
我参考了以下链接:http://unmesh.me/category/appium/
这个链接帮助我通过命令行安装Node.js和appium。但我不确定这样做是正确的。
我从命令行收到以下消息:
mani-kandans-MacBook-Pro:platform-tools manikandan$ info: Welcome to Appium v0.8.2 (REV e9cc66197ad6a3496322bd77a8699509fc761b69)
info: Appium REST http interface listener started on 0.0.0.0:4723
info - socket.io started之后我就不知道了。如何编写测试用例并在Appium中运行?
如果你有兴趣分享你对Appium工具的知识。请引导我。
发布于 2013-08-01 16:28:51
第一部分:-您似乎已经使用节点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用于Python、Java或c#或任何您的语言选择。我使用了c#,并可以提供示例,这对于您的测试应该是类似的。
要将selenium添加到c#类:using OpenQA.Selenium.Remote;中,可以将所有数据传递给selenium所需的功能对象。存在一些自定义所需的功能,如:
按照创建的功能,创建一个远程web驱动程序对象,传递您使用过的集线器url,例如http://localhost:4723/wd/hub和所创建的所需功能。
RemoteWebDriver driver = new RemoteWebDriver(new Uri("http://localhost:4723/wd/hub/"), caps);这一行使用Appium服务器的ip或主机开始侦听请求。对我来说,这一步标志,安装和启动应用程序的附加设备,希望这将对你同样的工作。这就是您编写的selenium测试连接到Appium服务器的地方。
现在,使用创建的driver对象,您可以访问selenium命令,Appium已经为android测试实现了许多替代方法。在每个过程中,您的Appium服务器控制台窗口都应该显示是否存在任何问题。
输出将进行颜色编码,以帮助从此窗口识别故障,但您可以自己处理这些问题,并在需要时输出到文件中。
对于多个设备的更新--我不确定是否使用了多个设备--我认为硒栅之前尝试向一台机器添加2台设备并进行测试时出现了混淆,在这种情况下,亚行无法区分配置和命令中添加的设备id。Appium团队一直在进行改进,以向服务器添加网格功能,我建议您查看一下Appium网格 (链接更新)。
我很抱歉,我缺乏与网格的经验,以进一步协助您。
你好,布莱恩
发布于 2014-12-16 06:53:55
这似乎是迟来的回复,但我仍然认为这篇文章可以帮助一些人,他们正在逐步寻找在Windows平台上安装Appium的指南
http://qaautomationworld.blogspot.in/2014/12/appium-setup-for-android-windows.html
此链接主要处理以下部分:
发布于 2013-09-26 21:20:01
这是我的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')
endhttps://stackoverflow.com/questions/17861998
复制相似问题