python iphone自动化_appium python ios 自动化

mac下搭建appium python selenium来针对ios应用进行自动化测试,并不是官网上的例子,自己程序调试成功。

前言:因为appium的安装前要先确定nodejs的安装、python的安装、npm、selenium的安装 这些不想洗说。直接appium

一:安装appium,签完不能用sudo进行安装

1、npm install appium  等待。这样成功后接着下一步

2、npm install wd(为什么安装,真的不知道,貌似没安装也行)

3、去下载appium 的dum文件进行安装。官网下载就好,直接安装

4、sudo pip install Appium-Python-Client   安装,我不知道这个和上面的有什么区别,只是安装上面那个报错了

到这里貌似appium安装好了,接下来就是ios打包的问题:

问题:

在开始的时候我直接是用xcode打的app包,然后手机里面也是把这个包安装好了的,结果无论怎么的,都是报错,报错,报错。

办法:

在网上找的所有教程,都是说的官网上下载那个教程,然后使用xcodebuild进行打包,然后怎么怎么的,可是我不是要例子,我只能用自己的包,所以问题来了:

1、xcode里面打包的方式好几种,而且签名好几种,那么你需要进行选择,这个找开发帮忙,不细说,纠结。

2、build的时候因为大多数用了pod这个第三方的插件,所以打包基本都会报错,那么找开发解决吧。打包的时候涉及到一个参数问题,指定工程名进行打包

3、打包的时候直接在xcode里面选择project,选择build,不要选择其他的,这个时候build出来的包就在工程下面会多一个buld文件,这里面找到.app文件,拷贝出来,放在根目录下。

4、把包弄好了之后,启动appium客户端,然后选择苹果那个小图标进行选择,在基本设置里面把刚.app文件的路径加进去,下面buildid的id在ccode里面找到输入进去,还有就是uuid,输入进去,其他的没了。

5、脚本:

#-*- coding: UTF-8 -*-

import unittest

from appium import webdriver

import time

class SimpleIOSTests(unittest.TestCase):

def setUp(self):

# setup appium

app = '/Users/Easter/Desktop/AutoTestIOS/StudyAndProgress.app' #和小图标里面的路径必须一样,下面的id和小图标里面的id必须一样

self.driver = webdriver.Remote(

command_executor='http://127.0.0.1:4723/wd/hub',

desired_capabilities={

'app': app,

'platformName': 'iOS',

'platformVersion': '7.1',

'deviceName': '5422c4433ce7ab54545de64f39627a80b8b65en'

})

def tearDown(self):

self.driver.quit()

def test_ui_computation(self):

time.sleep(5)

# populate text fields with values

#最新版本的appium使用name定位的时候会有问题。看了一下资料说的是appium的bug。

el = self.driver.find_element_by_xpath("//UIAApplication[1]/UIAWindow[1]/UIATabBar[1]/UIAButton[2]")

el.click()

time.sleep(5)

if __name__ == '__main__':

suite = unittest.TestLoader().loadTestsFromTestCase(SimpleIOSTests)

unittest.TextTestRunner(verbosity=2).run(suite)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值