使用启动参数和/或环境变量通过Appium启动ios应用程序

时间:2014-06-18 11:31:30

标签: ios selenium appium

问题 当我正在测试的应用程序启动时,应用程序会查找当前用户的IP以检测原始国家/地区。根据国家/地区,后端的URL会发生变化。我希望能够在我的测试中模拟任何区域。

我想做什么 我希望能够在启动时向应用程序发送一些内容,例如环境变量或启动参数,然后可以在应用程序内部处理。

经过一些谷歌搜索后我发现了这个: http://nshipster.com/launch-arguments-and-environment-variables/

但是我无法找到在通过Appium启动应用程序时是否可以发送这些变量。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

因此,理论上,您可以通过Appium's client libraries修改模拟器中的文件... 然而,经过漫长的搜索,我无法找到模拟器保持其“自定义位置......”的位置。 如果你能找到那些存在的地方,我相信你可以修改设置它的xml文件here

但这是一个非appium,可能自动化的解决方案。

...制作一个AppleScript!(显然OSX和iOS只针对这个问题进行了修复。我会留意一下通过修改sim上的文件来配置模拟器当前位置的方法..)

如果模拟器尚未运行,则此Apple脚本将抛出错误 - 因此首先启动它 - 然后让测试在其设置代码中运行此脚本。

tell application "iPhone Simulator"
    activate
end tell

tell application "System Events"
  tell process "iPhone Simulator"
    tell menu bar 1
      tell menu bar item "Debug"
        tell menu "Debug"
          tell menu item "Location"
            click
            tell menu "Location"
              click menu item "Custom Location…"
            end tell
          end tell
        end tell
      end tell
    end tell

tell window 1
  set value of text field 1 to "40.765477"
  set value of text field 2 to "-73.745398"
  click button "OK"
    end tell        
  end tell
end tell