首先介绍问题。
我们一直在测试5个网站,这些网站有3个测试环境实例(测试环境,预生产环境和生产环境),所以,3个不同的网址,但网站完全相同。
我们使用的selenium-webdriver和ruby的解决方法是设置一个环境变量,在webdriver测试用例中,我们在测试的“before”部分添加一个“case”,因此更容易设置实例我们需要运行我们的测试。
现在问题是,我们开始使用appium来测试我们的APK,我们面临同样的情况,我们有一些APK,还有3个测试环境实例。
现在的问题是,如果可以用appium实现这个,我们有appium.txt但也许还有另一种方法,我们可以在同一个ruby文件中拥有这些功能和apk,所以我们可以使用“case” “就像我们对网站一样,因为我们不能在appium.txt文件中使用案例。
这是appium.txt文件:
[caps]
platformName = "Android"
deviceName = "Android"
app = "./application.apk"
appPackage = "com.application.android.player"
appActivity = ".Main"
这是我的spec_helper.rb文件:
# encoding: UTF-8
require 'rubygems'
require 'appium_lib'
def setup_driver
return if $driver
@caps = Appium.load_appium_txt file: File.join(Dir.pwd, 'appium.txt')
if using_sauce
upload_app
end
$driver=Appium::Driver.new(@caps)
end
RSpec.configure do |config|
config.before(:each) do
$driver.start_driver
set_wait(10) #Implicit Wait
wait = Selenium::WebDriver::Wait.new(:timeout => 30)
wait.until { find_element(:name,'TÉRMINOS Y CONDICIONES') }
find_element(:id, 'com.application.android.player:id/acceptButton').click
end
config.after(:each) do
$driver.driver_quit
end
end