使用appium测试iOS应用更新

时间:2015-02-10 17:06:49

标签: appium ios-ui-automation

我计划通过Appium测试应用更新。我的要求是我将要求的,例如安装了应用程序版本1.1然后执行某些操作,然后在不重置应用程序内容的情况下,我希望安装应用程序版本1.2。

我们可以通过Appium实现这一目标吗?或者我们可以使用任何工具进行此更新测试吗?

我尝试使用'noReset'标志开始两个会话,因为Appium 1.2.0存在问题,但是Appium最新版本1.3.4不能正常工作。

如果我将“noReset”设置为True启动新会话,则不会安装第二次应用,因为它已经安装。有没有办法在开始第二个会话之前覆盖此设置,以便安装新版本的应用程序?

感谢。

2 个答案:

答案 0 :(得分:0)

也许一种方法是:

  • 首先没有安装任何应用程序
  • 通常使用Appium安装和准备1.1版应用以进行更新
  • 通过命令行更新(通过命令行安装应用程序的v.1.2,这里有一些应该适用于iOS how to install an ipa/app file into iPhone with command line?的答案)
  • 使用Appium和no-reset标志来启动你的应用程序(现在是v.1.2)并检查一切正常。

答案 1 :(得分:0)

这取决于您用于测试的内容。如果您像我一样使用黄瓜,那么您的文件夹结构应该类似于:

|features
    |>step_definitions
    |>support
        |>env.rb
    |appium.txt

env.rb文件如下所示:

class AppiumWorld; end

appium_txt = File.join(Dir.pwd, 'appium.txt')
caps = Appium.load_appium_txt file: appium_txt
Appium::Driver.new(caps)
Appium.promote_appium_methods [AppiumWorld]
Appium.promote_singleton_appium_methods [Base]

World do
  AppiumWorld.new
end

Before do |scenario|
  $driver.start_driver
end

After do |scenario|
  $driver.driver_quit
end

appium.txt文件看起来像

[caps]
appiumVersion = "1.3.4"
deviceName = "iPhone Simulator"
device-orientation = "portrait"
platformVersion = "8.1"
platformName = "iOS"
browserName = ""
app = "Absolute path to your app which you can point at any version"
name = "Test again"


[appium_lib]
sauce_username = ""
sauce_access_key = ""

gemfile包括:

gem 'sauce-cucumber', require: false
gem 'selenium-webdriver'
gem 'cucumber', '~> 1.3.19'
gem 'appium_console', '~> 1.0.3'
gem 'appium_lib', '~> 6.0.0'

我会看看酱黄瓜的教程,这是一个不可或缺的资源。此外,这是一个红宝石解决方案,但您可以根据需要进行翻译。