python+appium+pytest自动化测试-yaml文件配置Capabilities

在之前的脚本中,我们都把构造driver实例对象的数据(即Desired Capabilities)写在业务代码中,如下所示:


(以下所有内容使用PageObject模式,以微博 V10.12.0做为例子,)

def start(self):
        caps = {"platformName": "Android",
                "deviceName": "U4AIUKFAL7W4MJLR",
                "platforVersion": "9",
                "appPackage": "com.sina.weibo",
                "appActivity": "com.sina.weibo.SplashActivity",
                "autoGrantPermissions": "true",
                "automationName": "UiAutomator2"
		"noReset": True
                }

        self.driver = webdriver.Remote("http://localhost:4723/wd/hub", caps)

将数据写在业务代码中,如果换手机后需要修改代码,这样对于项目的维护是比较不方便的,所以将这些配置信息专门写在配置文件中,方便调用和修改。


可以将desired_caps文件存在再config文件夹中,如下:


desired_caps.yaml文件中的Capabilities数据如下:

platformName: Android
platformVersion: '9'
deviceName: U4AIUKFAL7W4MJLR
appActivity: com.sina.weibo.SplashActivity
appPackage: com.sina.weibo
automationName: UiAutomator2
autoGrantPermissions: true
noReset: true
url: 127.0.0.1(这里如果使用localhost会报错)
port: 4723

 

读取desired_caps.yaml文件,构造driver的函数:

class AppStart:
    def app_start(self):
        # 从desired_caps.yaml读取driver配置数据
        caps = open(r"E:\\study\\Fork\\WeiboDemo\\Weibo\\config\\desired_caps.yaml", 'r')
        data = yaml.load(caps, Loader=yaml.FullLoader)

        desired_caps = {'platformName': data['platformName'],
                        'platformVersion': data['platformVersion'],
                        'deviceName': data['deviceName'],
                        'appPackage': data['appPackage'],
                        'appActivity': data['appActivity'],
                        'automationName': data['automationName'],
                        'autoGrantPermissions': data['autoGrantPermissions'],
                        'noReset': data['noReset']}

        self.driver = webdriver.Remote('http://' + str(data['url']) + ':' + str(data['port']) + '/wd/hub', desired_caps)
        self.driver.implicitly_wait(10)
        return LoginPage(self.driver)

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值