python执行命令不连接mumu_Appium连接mumu安卓模拟器(真机)自动化测试
1.安装node.js & Appium
1.2. tar -xvzf xxx.tar.gz
1.3. set classpath
1.4. `npm install appium
遇翻墙npm install -g cnpm --registry=https://registry.npm.taobao.org`
cnpm install -g appium --unsafe-perm
1.5. appium -v
2.下载MuMu安卓模拟器
2.1 连接mumu虚拟机
这个是设备名称,因为我们是通过安卓的adb连接虚拟机的,需要在控制台执行如下的命令,让adb连接上虚拟机:
adb connect 127.0.0.1:7555
2.2 获取deviceName
执行了上面的连接模拟器的命令后,在cmd控制台输入:adb devices,查看目前连接的虚拟机,显示如下,图片里面的"127.0.0.1:7555" 就是设备的名称
List of devices attached
127.0.0.1:7555 device
2.3 连接appium 127.0.0.1:4723
对应的地址,端口是appium启动的时候,填写的地址,端口,如下图
image.png
3. 启动
根据前面的环境配置,操作后,运行脚本,在虚拟机里面可以启动qq,并且看到虚拟机里面多了如下两个图标,就表示成功。
image.png
4.python脚本测试
# -*- coding: utf-8 -*-
"""
Create by Mr.Hao on 2019/7/8.
"""
import time
import config
from time import sleep
from appium import webdriver
##以下代码可以操控手机app
class Action():
"""
真机
self.desired_caps = {
"platformName": "Android",
"deviceName": "GM1910",
"platformVersion":"9", # 安卓版本
"app": 'E:\pro\\roboter\\config\\autohome.apk', # 此处测试需要下载app路径
'autoGrantPermissions':True,
}
模拟器使用路径
self.desired_caps = {
"platformName": "Android",
"deviceName": "MuMu",
"platformVersion": "6.0.1", # 安卓版本
"app": 'E:\pro\\roboter\\config\\autohome.apk', # 此处测试需要下载app路径
'autoGrantPermissions':True,
}
"""
def __init__(self):
# 初始化配置,设置Desired Capabilities参数
self.desired_caps = {
"platformName": "Android",
"deviceName": "mate9",
"platformVersion": "6.0.1", # 安卓版本
'appActivity':'.MainActivity',
'appPackage':'com.cubic.autohome'
}
# 指定Appium Server
self.server = 'http://localhost:4723/wd/hub'
# 新建一个Session
self.driver = webdriver.Remote(self.server, self.desired_caps)
# 设置滑动初始坐标和滑动距离
self.start_x = 500
self.start_y = 1500
self.distance = 1300
# self.driver = webdriver.Remote(webdriver_remote, sys_pras)
def main(self):
print "程序开始"
# 获取屏幕的高
x = self.driver.get_window_size()['width']
# 获取屏幕宽
y = self.driver.get_window_size()['height']
# 向下滑动
print "APP_page向下滑动===========》"
time.sleep(10)
# self.driver.swipe(self.start_x, self.start_y, self.start_x, self.start_y - self.distance)
# # 设置延时等待
self.driver.swipe(0.5 * x, 0.75 * y, 0.5 * x, 0.25 * y, 1000)
sleep(3)
self.driver.swipe(0.5 * x, 0.75 * y, 0.5 * x, 0.25 * y, 1000)
sleep(3)
i=0
while True:
try:
print "进入详情页面"
self.driver.find_element_by_xpath("//android.widget.ListView/android.widget.LinearLayout[1]").click()
time.sleep(3)
print "打印详情页HTML"
print self.driver.page_source
except Exception as e:
print e
# self.scroll(x,y)
print "点击返回......"
xpathlist = ['//*[@resource-id="com.autohome.main.article:id/article_nav_left"]',
'//*[@resource-id="com.autohome.main.article:id/action_back"]',
'//android.widget.ImageView[@clickable="true" and @bounds="[33,107][120,194]"]',
'//android.widget.ImageView[@clickable="true" and @bounds="[15,47][58,90]"]',
'//android.widget.ImageView[@resource-id="com.autohome.main.car:id/tv_back"]',
'//android.widget.ImageView[@resource-id="com.cubic.autohome:id/ahlib_close_activity"]',
'//android.widget.ImageView[@resource-id="com.autohome.plugin.koubei:id/main_return"]',
'//android.widget.ImageView[@resource-id="com.autohome.plugin.uchuang:id/final_page_nav_left_icon"]']
for xx in xpathlist:
try:
self.driver.find_element_by_xpath(xx).click()
time.sleep(5)
except:
continue
time.sleep(3)
print "APP 第{}次刷新".format(i)
self.driver.swipe(0.5 * x, 0.75 * y, 0.5 * x, 0.25 * y, 1000)
sleep(5)
i = i+1
if __name__ == '__main__':
action = Action()
action.main()
python执行命令不连接mumu_Appium连接mumu安卓模拟器(真机)自动化测试相关推荐
- Android---使用adb命令添加apk到MUMU安卓模拟器
本文的前提是电脑已经安装adb工具 1–下载网易MUMU安卓模拟器(ps:据说这个模拟器比较好用) 2.使用adb连接模拟器并安卓apk
- 2022年最新android studio连接雷电模拟器 真机调试教程
android studio连接雷电模拟器 真机调试 载雷电模拟器,打开并进入如下页面 进入设置 点击关于平板电脑 连续点击5次版本号 会提示已经打开开发者模式 退回设置页面可以看到开发者模式已经打开 ...
- 分享网易MuMu安卓模拟器 Mac版
为什么80%的码农都做不了架构师?>>> 分享MuMu安卓模拟器 Mac版 http://mumu.163.com/官网 转载于:https://my.oschina.net/ ...
- CMD是什么?(命令行提示符)如何使用python在windows上操作CMD?(python执行命令行)os.syste[m](执行的命令)、os.popen(执行的命令)
文章目录 cmd是什么 python操作cmd 方法1: 方法2: 20200309 cmd是什么 cmd是command的缩写.即命令提示行(CMD),是在OS / 2 , Win为基础的操作系统( ...
- python 执行命令并获取命令行输出_Python实现获取命令行输出结果的方法
Python实现获取命令行输出结果的方法 本文实例讲述了Python实现获取命令行输出结果的方法.分享给大家供大家参考,具体如下: Python获取命令行输出结果,并对结果进行过滤找到自己需要的! 这 ...
- python 执行命令,并获取结果及执行状态(os.popen、subprocess.Popen、os.system)
使用时的数据记录整理,有问题请跳过 一.模块 os.popen.subprocess.Popen.os.system 二.具体操作 1. os.popen() import osr = os.pope ...
- android studio连接小米手机mi 5s plus真机调试连接不上
参考:http://www.miui.com/thread-8126923-1-1.html android studion 3.2.1 小米5s plus 前提 打算连接本人小米手机调试程序,发现一 ...
- 模拟器真机环境_Appium+python自动化(二)- 环境搭建—下(超详解)
上一篇android测试开发环境已经准备好, 那么接下来就是appium的环境安装和搭建了. 菲哥和小伙伴们开个玩笑,不要觉得自人品不好,就不会成功那都是骗人的.搭建环境和人品半毛钱关系也没有,搭建环 ...
- 安卓模拟器按键_超好用的网易MuMu安卓模拟器(兼容MacOS10.15系统)
网易MuMu Mac版是一款可以让Mac用户在电脑上轻松玩手游的安卓模拟器,是迄今为止国内最好最流畅的手游模拟器软件.网易mumu mac版现已支持梦幻西游.大话西游.倩女幽魂等众多经典安卓手机游戏, ...
最新文章
- 专注年轻人的AI学习平台
- 小程序-demo:小程序示例-page/component
- php强制对齐,[强迫症福利] 使用 PHPStorm 对齐数组的键值对
- webrtc 源码结构
- 2.1线性表的类型定义
- 响应式精美列商城发卡源码
- python pymysql使用连接池连接mysql示例
- Mac下 javac java 进行编译和运行含有包路径及引入jar包的类
- bzoj 3261 最大异或和【可持久化trie】
- 使用微信支付购买《微信公众平台最佳实践》
- SQL 基础面试题(四)
- gstreamer/deepstream崩溃记录及分析
- AfxBeginThread第二个参数LPVOID pParam的使用
- 智科人之人工智能大实验四选一验优报告参考:基于遗传算法的函数极值求取
- CCF 201703-5 引水入城
- 【18年北京网络赛】Tomb Raider【递归求所有子序列】
- 牛客IOI周赛17-普及组 数列统计(组合数)
- phpcms 会员头像h5上传_phpcms v9前台会员中心上传头像可getshell及修复
- 在线使用的时间管理工具
- 用docx把文字写入word并且插入图片、表格