Appium Appium iOS 简易配置

huan · 2015年12月17日 · 最后由 回复于 2018年09月04日 · 3088 次阅读
本帖已被设为精华帖!

最新的 Xcode 调试时可以不用开发者证书直接 build 进手机
今天用到的源代码链接
仿知呼客户端,在这感谢作者
1.下载好源代码后打开,修改下 bundle id 否则可能 bulid 不了,试下能不能 bulid 进模拟器或真机,可以就继续下一步

2.配置 appium

app path 可以在 Xcode 里查看 直接复制 full path 里面的内容就行了 真机的 udid 可以在 iTunes 里查看


如果没显示 udid 再点击下序列号就可以了
Advanced 的配置

代码

desired_caps = {}
# desired_caps['udid'] = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
desired_caps['platformName'] = 'iOS'
desired_caps['platformVersion'] = '9.1'
# desired_caps['deviceName'] = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
desired_caps['app'] = ('/Users/huan/Library/Developer/Xcode/DerivedData/zhihuDaily_2.0-cbhanrpleubilrhcyizjbfwzgufw/Build/Products/Debug-iphoneos/知乎日报.app')
# desired_caps['app'] = ('/Users/huan/Library/Developer/Xcode/DerivedData/hello_iOS-djcahojbilvnkkechgkdkfdyxabn/Build/Products/Debug-iphoneos/hello_iOS.app')
# desired_caps['app'] = '.app'
desired_caps['deviceName'] = 'iPhone Simulator'

desired_caps['bundleId'] = 'com.zhihu.zj'
print("连接中...")
dr = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps)
print("连接完成")
# 滑动("上",5)
# print("滑动...")
dr.find_element_by_name("矿石家族中的「玫瑰花」,最终被精炼为核电站的燃料").click()
sleep(5)

dr.quit()


以上就是在模拟器跑的大概流程
注意:启动脚本前先把退出模拟器,如果是真机,就先把要测试的 app 进程杀掉,否则的话会出现问题,真机千万记得在手机设置 -- 开发者--Enable UI Automation 设为开启
真机的步骤也差不多;如果 遇到打开 inspector 时提示:could not lauch appium inspector(could not get list of sessions from appium server) 试试关代理工具如 ***
appium 端的设置

代码

desired_caps = {}
desired_caps['udid'] = '3481aa07c06812c83860a67e4e70b1890e72d4e2'
desired_caps['platformName'] = 'iOS'
desired_caps['platformVersion'] = '9.1'
desired_caps['deviceName'] = '3481aa07c06812c83860a67e4e70b1890e72d4e2'
desired_caps['app'] = ('/Users/huan/Library/Developer/Xcode/DerivedData/zhihuDaily_2.0-cbhanrpleubilrhcyizjbfwzgufw/Build/Products/Debug-iphoneos/知乎日报.app')
# desired_caps['app'] = ('/Users/huan/Library/Developer/Xcode/DerivedData/hello_iOS-djcahojbilvnkkechgkdkfdyxabn/Build/Products/Debug-iphoneos/hello_iOS.app')
# desired_caps['app'] = '.app'
# desired_caps['deviceName'] = 'iPhone Simulator'

desired_caps['bundleId'] = 'com.zhihu.zj'
print("连接中...")
dr = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps)
print("连接完成")
# 滑动("上",5)
# print("滑动...")
dr.find_element_by_name("矿石家族中的「玫瑰花」,最终被精炼为核电站的燃料").click()
sleep(5)

dr.quit()

谢谢@neyo 的指导

共收到 17 条回复 时间 点赞

可喜可贺😂

huan #2 · 2015年12月17日 Author

#1 楼 @neyo 😂

哇,知乎的同学你好~
我觉得在界面上面配置参数,和代码里边配置参数,择其一就可以了,你看呢?

huan #4 · 2015年12月18日 Author

#3 楼 @shixue33 安卓的择其一就可以了,iOS 好像不行

~(≧▽≦)/~学习了!

#4 楼 @huanzhijin ios 的配置参数都可以在代码里设置的

我一般都是用命令行模式驱动, 设置上-U 参数即可.
iOS 里面涉及到 appium 能自动化的配置处不少

  1. bundid
  2. 证书
  3. provision profile
  4. desired_caps

期待后续更深入的讲解

#7 楼 @seveniruby 目前 xcode7 已经可以使用免费用户的证书签名了。。我在脚本里只配置了 1,4,客户端不配置,就可以成功启动了

楼主及各位大神,我是新手,目前正准备在 OS X 搭建 Appium 环境,有比较新比较详细的搭建和入门使用文档吗?麻烦给我一份,谢谢!

huan #10 · 2016年02月26日 Author

#9 楼 @zhuquan0814 在论坛多看看吧

新手,想问下测试脚本在哪写呀,怎么测试软件?

楼主你是用什么编辑器编写 python 脚本

huan #13 · 2016年07月19日 Author

#12 楼 @jcwhy JetBrains PyCharm 5.0.4

请问一下,IOS 设备测试,一定要用 MAC 电脑吗?Windows 的不行?谢谢

惜木 回复

兄弟 现在怎么做 ios 自动化的~?我也没有 mac 能不能用虚拟机?

huan #16 · 2018年06月06日 Author
惜木 回复

windows 装虚拟机

songz 回复

咋不指导我

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册