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安卓模拟器(真机)自动化测试相关推荐

  1. Android---使用adb命令添加apk到MUMU安卓模拟器

    本文的前提是电脑已经安装adb工具 1–下载网易MUMU安卓模拟器(ps:据说这个模拟器比较好用) 2.使用adb连接模拟器并安卓apk

  2. 2022年最新android studio连接雷电模拟器 真机调试教程

    android studio连接雷电模拟器 真机调试 载雷电模拟器,打开并进入如下页面 进入设置 点击关于平板电脑 连续点击5次版本号 会提示已经打开开发者模式 退回设置页面可以看到开发者模式已经打开 ...

  3. 分享网易MuMu安卓模拟器 Mac版

    为什么80%的码农都做不了架构师?>>>    分享MuMu安卓模拟器 Mac版 http://mumu.163.com/官网 转载于:https://my.oschina.net/ ...

  4. CMD是什么?(命令行提示符)如何使用python在windows上操作CMD?(python执行命令行)os.syste[m](执行的命令)、os.popen(执行的命令)

    文章目录 cmd是什么 python操作cmd 方法1: 方法2: 20200309 cmd是什么 cmd是command的缩写.即命令提示行(CMD),是在OS / 2 , Win为基础的操作系统( ...

  5. python 执行命令并获取命令行输出_Python实现获取命令行输出结果的方法

    Python实现获取命令行输出结果的方法 本文实例讲述了Python实现获取命令行输出结果的方法.分享给大家供大家参考,具体如下: Python获取命令行输出结果,并对结果进行过滤找到自己需要的! 这 ...

  6. python 执行命令,并获取结果及执行状态(os.popen、subprocess.Popen、os.system)

    使用时的数据记录整理,有问题请跳过 一.模块 os.popen.subprocess.Popen.os.system 二.具体操作 1. os.popen() import osr = os.pope ...

  7. android studio连接小米手机mi 5s plus真机调试连接不上

    参考:http://www.miui.com/thread-8126923-1-1.html android studion 3.2.1 小米5s plus 前提 打算连接本人小米手机调试程序,发现一 ...

  8. 模拟器真机环境_Appium+python自动化(二)- 环境搭建—下(超详解)

    上一篇android测试开发环境已经准备好, 那么接下来就是appium的环境安装和搭建了. 菲哥和小伙伴们开个玩笑,不要觉得自人品不好,就不会成功那都是骗人的.搭建环境和人品半毛钱关系也没有,搭建环 ...

  9. 安卓模拟器按键_超好用的网易MuMu安卓模拟器(兼容MacOS10.15系统)

    网易MuMu Mac版是一款可以让Mac用户在电脑上轻松玩手游的安卓模拟器,是迄今为止国内最好最流畅的手游模拟器软件.网易mumu mac版现已支持梦幻西游.大话西游.倩女幽魂等众多经典安卓手机游戏, ...

最新文章

  1. 专注年轻人的AI学习平台
  2. 小程序-demo:小程序示例-page/component
  3. php强制对齐,[强迫症福利] 使用 PHPStorm 对齐数组的键值对
  4. webrtc 源码结构
  5. 2.1线性表的类型定义
  6. 响应式精美列商城发卡源码
  7. python pymysql使用连接池连接mysql示例
  8. Mac下 javac java 进行编译和运行含有包路径及引入jar包的类
  9. bzoj 3261 最大异或和【可持久化trie】
  10. 使用微信支付购买《微信公众平台最佳实践》
  11. SQL 基础面试题(四)
  12. gstreamer/deepstream崩溃记录及分析
  13. AfxBeginThread第二个参数LPVOID pParam的使用
  14. 智科人之人工智能大实验四选一验优报告参考:基于遗传算法的函数极值求取
  15. CCF 201703-5 引水入城
  16. 【18年北京网络赛】Tomb Raider【递归求所有子序列】
  17. 牛客IOI周赛17-普及组 数列统计(组合数)
  18. phpcms 会员头像h5上传_phpcms v9前台会员中心上传头像可getshell及修复
  19. 在线使用的时间管理工具
  20. 用docx把文字写入word并且插入图片、表格

热门文章

  1. 用excel打开一个xls文件进度到36%就不动了
  2. 高颜值时尚小巧蓝牙耳机推荐,女友生日过节最强送礼装备
  3. 运维学习 unit 5 用户的建立与管理
  4. pytorch manual_seed()
  5. Python-random.seed()的作用
  6. 如何清除 iPhone 上的其他存储来释放空间
  7. 《深入理解计算机网络》迷你书
  8. 【U3D入门小白教程——案例篇】之一:球吃豆
  9. 一文彻底看懂LightGBM
  10. html和js画圣诞树图片,教你如何把JavaScript代码写成圣诞树