python基于appium的yaml配置文件调用

1.yaml文件需要pip安装pyyaml

desired_caps.yaml文件在里面放置了如下内容,这个文件内容需要注意,冒号后面有空格,需要检查空格个数是否一个,参数是否都正确;

platformName: Android
platformVersion: '5.1'
deviceName: 127.0.0.1:62025
appPackage: im2510.hollcon.com.im2510
appActivity: .activity.LoginActivity
noRest: True
ensureWebviewsHavePages: True
ip: 127.0.0.1
port: 4723

在connect文件中放置了如下内容,定义了android_driver,在下面用的时候直接调用了这个py文件中的android_driver,这里需要检查地址调用路径是否正确,可以调试查看caps取值是否正确,不对的项进行修改:

from appium import webdriver
import os
import yaml

# 项目根目录路径,即android-ui-autotest文件夹的路径
BASE_PATH = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
# capabilities配置文件desired_caps.py路径
DESIRED_CAPS_YAML_PATH = BASE_PATH + '\ck\desired_caps.yaml'
print(BASE_PATH)
print(DESIRED_CAPS_YAML_PATH)
def android_driver():
    # 从desired_caps.yaml读取driver配置数据
    stream = open(DESIRED_CAPS_YAML_PATH, 'r')
    data = yaml.load(stream, Loader=yaml.FullLoader)

    caps = {'platformName': data['platformName'], 'platformVersion': data['platformVersion'],
            'deviceName': data['deviceName'], 'appPackage': data['appPackage'],
            'appActivity': data['appActivity']}
    driver = webdriver.Remote('http://' + str(data['ip']) + ':' + str(data['port']) + '/wd/hub', caps)
    driver.implicitly_wait(8)
    return driver

在新的login.py中对connect.py进行调用,调用后系统运行起来了,并按照下面的操作进行了登录;

from selenium.webdriver.common.by import By
import time
from connect import android_driver

a = android_driver()

time.sleep(5)
a.find_element(By.ID, "im2510.hollcon.com.im2510:id/edit_account").send_keys("admin")
time.sleep(2)
a.find_element(By.ID, "im2510.hollcon.com.im2510:id/edit_password").send_keys("123")
time.sleep(2)
a.find_element(By.ID, "im2510.hollcon.com.im2510:id/bt_login_land").click()
time.sleep(10)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值