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)

Logo

GitCode 天启AI是一款由 GitCode 团队打造的智能助手,基于先进的LLM(大语言模型)与多智能体 Agent 技术构建,致力于为用户提供高效、智能、多模态的创作与开发支持。它不仅支持自然语言对话,还具备处理文件、生成 PPT、撰写分析报告、开发 Web 应用等多项能力,真正做到“一句话,让 Al帮你完成复杂任务”。

更多推荐