问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

Appium 怎么在 Windows 上运行呢 社区 TesterHome

发布网友 发布时间:2024-10-04 00:16

我来回答

1个回答

热心网友 时间:2024-10-04 00:52

首先 Appium 支持 iOS 真机

  以下条件必须满足:

  苹果开发者账号和开发者证书
  苹果设备,确保这个设备已经被配置为开发机器。怎么配置?
  签名过的 .ipa 文件或者源代码
  A Mac with Xcode and the Xcode Command Line Developer Tools,有 xcode和xcode command line 的 苹果系统。别来问我,windows 怎么测试 iOS 应用。
  Provisioning Profile

  再次强调真机需要有效的开发分发证书和开发的 Provisioning Profile。
  你的应用需要签名。Appium 会参试使用 Fruitstrap 安装应用。
  但是使用 xcode 安装到真机会方便很多。

  拓展: 什么是 Provisioning Profile?

  运行

  要指定真机运行有两种方式:

  appium 启动的时候,指定 udid 和 app bundle appium -U <udid> --app <path or bundle>
  或者在脚本里指定两个 desired capability

  desired_capabilities={
  'app':'com.xxx.iphone',
  'udid':'70643e56c1b0f3c3132c44c87e433a48b5531ee6',
  'platformName': 'iOS',
  'deviceName': 'iPhone'
  })
  注意: 如果设备中未安装 app 可以指定 ipa 地址,如果安装了,
  则指定 bundle ID。

  所以对于第一种情况,代码可以这样写:

  self.driver = webdriver.Remote(
  command_executor='http://127.0.0.1:4723/wd/hub',
  desired_capabilities={
  'deviceName':'',
  'platformName': 'iOS',
  })
  对于第二种情况,代码可以这样写:

  app = "io.appium.TestApp"
  self.driver = webdriver.Remote(
  command_executor='http://127.0.0.1:4723/wd/hub',
  desired_capabilities={
  'deviceName':'',
  'platformName': 'iOS',
  'app': app,
  'udid': 'cc6bcd6a94aeb8490924dd05c5b318bfbfafb3bb'
  })
  调试的思路

  确保 UDID 的正确,是真机的 UDID。(20+ 字符串)
  确保在模拟器上已经能运行无误了。
  直接使用 Instruments 看看是否能在真机上运行。有些情况连 xcode 的 instruments 都不能在真机上调试,那更别谈 appium 了
  确保运行 appium 用例前, instruments 没有启动过。看看有没有 instruments 的进程。
  目前 1.2.2 的坑

  目前 appium 1.2.2 上运行 iOS 真机测试的话,可能会遇到如下的错误:

  info: [debug] Starting iOS device log capture via deviceconsole
  error: iOS log capture failed: spawn ENOENT
  info: [debug] Cleaning up appium session
  error: Failed to start an Appium session, err was: Error: spawn ENOENT
  info: [debug] Error: spawn ENOENT
  at errnoException (child_process.js:1000:11)
  at Process.ChildProcess._handle.onexit (child_process.js:791:34)
  info: [debug] Responding to client with error: {"status":33,"value":{"message":"A new session could not be created. (Original error: spawn ENOENT)","code":"ENOENT","errno":"ENOENT","syscall":"spawn","origValue":"spawn ENOENT"},"sessionId":null}
  info: <-- POST /wd/hub/session 500 1780.745 ms - 197
  这是因为在 /usr/local/lib/node_modules/appium/build/deviceconsole/ 下面缺失了 deviceconsole。已经有 bug 追踪了。

  解决方法如下:

  到该目录底下 cd /usr/local/lib/node_modules/appium/build/deviceconsole/
  打开这个deviceconsole project。 open deviceconsole.xcodeproj
  重新 build 一把。把 build 出来的 deviceconsole,复制到 /usr/local/lib/node_modules/appium/build/deviceconsole/去。
  然后重新运行 Appium
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
我这个配置能玩大唐无双2吗 PK什么的能卡么? 求高手解答 这样的配置还要加什么玩大唐无双才不卡 这个配置能玩大唐无双双开吗? windows7旗舰版系统玩大唐无双零双开卡怎么办?卡死了。 玩大唐无双的时候双开过地图太卡怎么解决啊 全民枪战我用QQ号,但它说密码数字英文,下划线组成,应该怎样弄啊?_百 ... 小太阳取暖器头晕呕吐 取暖器用的会头晕吗,可能的原因和使用注意事项 男孩姓孙含越字好名字 简单特别的男孩名字越 中间是越的男孩名字大全 启动不了 selendroid,求助 03 社区 03 TesterHome 学计算机应用技术的学生应该买一台什么配置的台式机? 凉拌藕片怎么不变黑 决定放弃一个深爱多年的人的句子 恋人之间怎么相处才能更长久 如何才能更好地与恋人相处 营运货车超载处罚规定 货车营运期间超载,现在报废了还能处理超载吗 请问石狮工商银行早上几点上班几点下班呀?下午又是几点上班几点下班呀... 石狮有什么银行 a1347最高支持多少版本 vivo X6怎么开启手势唤醒教程 vivox6怎么校准手势触控 vivox6手势调出小屏删除了从哪里再找回来 博浪空气能好还是美的好? vivox6微信手势解锁 可以共享一下讯雷vip账号吗 我保证不改密码(跪求) 怪物猎人世界重弩有哪些介绍_怪物猎人世界重弩有哪些是什么 恋人之间怎样沟通,怎样交流? 怪物猎人世界重弩升级素材表介绍_怪物猎人世界重弩升级素材表是什么 u盘插在电脑上视频不能播放是什么问题 ...放不出来,显示"不支持文件"怎么办?有没有万能格式 如何增进恋人的感情? 恋人间增进感情的方法 情侣间增进感情的小秘诀 ...播放器USB插孔用U盘连接为什么显示是不支持USB,是什么意思,请教高手... 恋人怎样增进感情 如何做才能让你们的感情更有意义 中级会计报考条件具体要求2024 今年流行什么色 流行什么颜色 穆桂英挂帅中穆桂英什么时候打败萧天佐 穆桂英挂帅第38级与萧天佐三战中是几胜几负。 如何让鸭肉更加美味可口? 我把主板电池拔下放电,之后在装上,怎么就开不了机了,电源灯都不亮。请教... 主板电池放电后开不了机了 怎么烹饪鸭肉口感更佳? 新鲜的鸭肉有什么烹饪方式? 74LS112的sd脚是什么端? 高性价比的吸油烟机怎么选? 美的微波炉价格是多少 美的微波炉多少钱