android - 在多个平台上运行一个 Appium 测试

标签 android ios cucumber appium

我正在开发一款同时适用于 Android 和 iOS 的应用。我正在使用 Appium 和 Cucumber 来实现自动化。

目前我的自动化项目结构是:

android
   |_ appfile.apk
   |_ appium.txt
   |_ features
     |_ step_definitions
        |_ steps.rb
     |_ first_test.feature
ios
   |_ appfile.app
   |_ appium.txt
   |_ features
     |_ step_definitions
        |_ steps.rb
     |_ first_test.feature

first_test.feature 中的测试场景和步骤对于 android 和 iOS 是相同的。我想要做的是将两个文件夹结构 (android + ios) 合并为一个文件夹结构,这样我就不必为双方重复代码。

但我面临的问题是 appium.txt 文件不能同时包含 iOS 和 Android 的定义。这就是我们最初为每个平台创建单独文件夹的原因。

非常感谢任何帮助或指点。

最佳答案

我找到了解决办法:根目录下只有一个“features”文件夹,里面放着“android”和“ios”。 ios/android 文件夹将仅包含特定的 appium.txt 和应用程序包。

我可以控制在实例化 appium 驱动程序时加载什么 appium.txt 文件:

@appium_driver ||= Appium::Driver.new(Appium.load_appium_txt({file: 'iOS/appium.txt', verbose: true}))

关于android - 在多个平台上运行一个 Appium 测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27817123/

相关文章:

Android:如何对角扩展和收缩 View ?

ios - 在同一 Action 中弹出和推送 View Controller

ios - 在横向模式下添加 UIView

cucumber - 如何对 Ember 应用程序进行 Cucumber 式验收测试?

android - Samsung Camera SDK是用来扩展Camera2 API的吗?

java - 我想滚动 ScrollView 而不是 WebView

Android Listview onclick 随机选择

ios - 未创建 PayLoad 目录

ios - Appium:Ruby:使用 appium for iOS 进行分布式测试

ruby - capybara 找不到 javascript