#! /usr/bin/env pyhton
# -*- coding:utf-8 -*-
# author:jeff.xie
# datetime:2024/4/11 16:54
# software:PyCharm
import subprocess
from appium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from time import sleep
import time
def appium_start(host, port):
# 指定bp端口号
bootstrap_root = str(port+1)
# 把cmd弹窗输入的命令,直接些在这里
cmd = 'start /b appium -a ' + host + ' -p ' +str(port)+' -bp ' +str(bootstrap_root)
# 去掉 /b 即可打开cmd弹窗运行
cmd = 'start appium -a ' + host + ' -p ' +str(port)+' -bp ' +str(bootstrap_root)
#打印输入的cmd命令以及时间
print('%s at %s' %(cmd, time.ctime()))
subprocess.Popen(cmd, shell= True, stdout=open('./appium_log/'+str(port)+'.log','a'), stderr=subprocess.STDOUT)
def run_case(host, port):
print(time.strftime("%H:%M:%S"))
desired_caps = {}
# 系统
desired_caps['platformName'] = 'Android'
# 手机版本,在手机中:设置--关于手机
desired_caps['platformVersion'] = '11'
# 设备号
desired_caps['deviceName'] = '9b2157cfaedb'
# 包名
desired_caps['appPackage'] = 'welab.bank.mobile.stage'
# desired_caps['appPackage'] = 'welab.bank.sit'
# # 启动名
desired_caps['appActivity'] = 'com.welabfrontend.MainActivity'
# desired_caps["unicodeKeyboard"] = "True"#appium提供的一种输入法,可以传中文。测试时直接用这个输入法
# desired_caps["resetKeyboard"] = "True"#程序结束时重置原来的输入法
# desired_caps["noReset"] = "True"#不初始化手机app信息(类似不清除缓存)
# driver = webdriver.Remote("http://127.0.0.1:4723/wd/hub", desired_caps)
driver = webdriver.Remote("http://"+host+":"+str(port)+"/wd/hub", desired_caps)
driver.wait_activity("com.welabfrontend.MainActivity", 50)
sleep(5)
print(time.strftime("%H:%M:%S"))
if __name__ == '__main__':
host = '127.0.0.1'
# 运行一个端口
port = 4723
appium_start(host, port)
run_case(host, port)
Python 启动Appium Service然后执行APP自动化case
qq_4924484462024-04-16 19:22
相关推荐
少云清6 小时前
【金融项目实战】7_接口测试 _代码实现接口测试(重点)深蓝电商API6 小时前
爬虫IP封禁后的自动切换与检测机制m0_550024636 小时前
持续集成/持续部署(CI/CD) for PythonB站_计算机毕业设计之家7 小时前
豆瓣电影数据采集分析推荐系统 | Python Vue Flask框架 LSTM Echarts多技术融合开发 毕业设计源码 计算机渣渣苏7 小时前
Langchain实战快速入门lili-felicity7 小时前
CANN模型量化详解:从FP32到INT8的精度与性能平衡北京耐用通信7 小时前
破解AGV多协议互联难题:耐达讯自动化Profinet转Devicenet网关如何实现高效协同数据知道7 小时前
PostgreSQL实战:详解如何用Python优雅地从PG中存取处理JSONZH15455891317 小时前
Flutter for OpenHarmony Python学习助手实战:面向对象编程实战的实现玄同7657 小时前
SQLite + LLM:大模型应用落地的轻量级数据存储方案