在测试相同的应用程序但在不同的环境中使用不同的APK文件时,可以在appium中轻松选择APK

时间:2015-09-24 16:14:45

标签: ruby appium

首先介绍问题。

我们一直在测试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

0 个答案:

没有答案