python的文本编辑geny,python控制genymotion,利用计算器实现计算

python控制genymotion,利用计算器实现计算

1、环境搭建

Python+Appium 环境

--》安装node.js

--》安装Python

--》安装Appium-Python-Client

pip install Appium-Python-Client

-->安装appium

2、利用appium获取元素

{

"platformName": "Android",

"deviceName": "192.168.231.101:5555",

"platformVersion": "9",

"appPackage": "com.android.calculator2",

"appActivity": "com.android.calculator2.Calculator",

"noReset": true

}

单次连接操作

from appium import webdriver

#定义字典,保存设备信息

device={}

#设备种类

device['deviceName']='192.168.231.101:5555'

#设备平台

device['platformName']='Android'

#移动设备操作系统版本

device['platformVersion']='9'

#运行程序包名

device['appPackage']='com.android.calculator2'

#程序启动页名称

device['appActivity']='com.android.calculator2.Calculator'

#设置不重新安装APP

device['noReset']=True

#启动连接设备

driver=webdriver.Remote("http://127.0.0.1:4723/wd/hub",device)

data=[['12','+','22','34'],['23','-','1','22'],['3','*','4','12'],['12','/','3','4']]

#将运算符,格式化

for i in range(len(data)):

if data[i][1]=='+':

data[i][1]='add'

elif data[i][1]=='-':

data[i][1]='sub'

elif data[i][1]=='*':

data[i][1]='mul'

else:

data[i][1]='div'

#

for i in data:

for j in range(0,len(i)-1):

num = i[j]

if j!=1 :

for a in num :

driver.find_element_by_id("com.android.calculator2:id/digit_"+a).click()

else:

driver.find_element_by_id("com.android.calculator2:id/op_"+i[1]).click()

driver.find_element_by_id("com.android.calculator2:id/eq").click()

res=driver.find_element_by_id("com.android.calculator2:id/result").text

if res==str(i[3]):

print("通过")

else:

print("失败")

print('actually=',res,'expected',i[3])

driver.quit()

3、参数化

from appium import webdriver

#定义字典,保存设备信息

device={}

#设备种类

device['deviceName']='192.168.231.101:5555'

#设备平台

device['platformName']='Android'

#移动设备操作系统版本

device['platformVersion']='9'

#运行程序包名

device['appPackage']='com.android.calculator2'

#程序启动页名称

device['appActivity']='com.android.calculator2.Calculator'

#设置不重新安装APP

device['noReset']=True

#启动连接设备

driver=webdriver.Remote("http://127.0.0.1:4723/wd/hub",device)

data=[['12','+','22','34'],['23','-','1','22'],['3','*','4','12'],['12','/','3','4']]

#将运算符,格式化

for i in range(len(data)):

if data[i][1]=='+':

data[i][1]='add'

elif data[i][1]=='-':

data[i][1]='sub'

elif data[i][1]=='*':

data[i][1]='mul'

else:

data[i][1]='div'

#

for i in data:

for j in range(0,len(i)-1):

num = i[j]

if j!=1 :

for a in num :

driver.find_element_by_id("com.android.calculator2:id/digit_"+a).click()

else:

driver.find_element_by_id("com.android.calculator2:id/op_"+i[1]).click()

driver.find_element_by_id("com.android.calculator2:id/eq").click()

res=driver.find_element_by_id("com.android.calculator2:id/result").text

if res==str(i[3]):

print("通过")

else:

print("失败")

print('actually=',res,'expected',i[3])

driver.quit()

读取文件进行参数化

from appium import webdriver

#定义字典,保存设备信息

device={}

#设备种类

device['deviceName']='192.168.231.101:5555'

#设备平台

device['platformName']='Android'

#移动设备操作系统版本

device['platformVersion']='9'

#运行程序包名

device['appPackage']='com.android.calculator2'

#程序启动页名称

device['appActivity']='com.android.calculator2.Calculator'

#设置不重新安装APP

device['noReset']=True

#启动连接设备

driver=webdriver.Remote("http://127.0.0.1:4723/wd/hub",device)

#读取文件

file=open('E:\cal.txt','r')

data =[]

for rows in file:

strs = rows.split()

data.append(strs)

#将运算符,格式化

for i in range(len(data)):

if data[i][1]=='+':

data[i][1]='add'

elif data[i][1]=='-':

data[i][1]='sub'

elif data[i][1]=='*':

data[i][1]='mul'

else:

data[i][1]='div'

#

for i in data:

for j in range(0,len(i)-1):

num = i[j]

if j!=1 :

for a in num :

driver.find_element_by_id("com.android.calculator2:id/digit_"+a).click()

else:

driver.find_element_by_id("com.android.calculator2:id/op_"+i[1]).click()

driver.find_element_by_id("com.android.calculator2:id/eq").click()

res=driver.find_element_by_id("com.android.calculator2:id/result").text

if res==str(i[3]):

print("通过")

else:

print("失败")

print('actually=',res,'expected',i[3])

driver.quit()

View Code

读取Excel进行参数化

import pandas

data = pandas.read_excel("e:\cal2.xls", sheet_name="Sheet1",names=["num1","op","num2","expected"])

data = data.values.tolist()

完整代码

from appium import webdriver

import pandas

#定义字典,保存设备信息

device={}

#设备种类

device['deviceName']='192.168.231.101:5555'

#设备平台

device['platformName']='Android'

#移动设备操作系统版本

device['platformVersion']='9'

#运行程序包名

device['appPackage']='com.android.calculator2'

#程序启动页名称

device['appActivity']='com.android.calculator2.Calculator'

#设置不重新安装APP

device['noReset']=True

#启动连接设备

driver=webdriver.Remote("http://127.0.0.1:4723/wd/hub",device)

#读取文件

data = pandas.read_excel("e:\cal2.xls", sheet_name="Sheet1",names=["num1","op","num2","expected"])

data = data.values.tolist()

#将运算符,格式化

for i in range(len(data)):

if data[i][1]=='+':

data[i][1]='add'

elif data[i][1]=='-':

data[i][1]='sub'

elif data[i][1]=='*':

data[i][1]='mul'

else:

data[i][1]='div'

#

for i in data:

for j in range(0,len(i)-1):

num = i[j]

num = str(num)

if j!=1 :

for a in num :

driver.find_element_by_id("com.android.calculator2:id/digit_"+a).click()

else:

driver.find_element_by_id("com.android.calculator2:id/op_"+i[1]).click()

driver.find_element_by_id("com.android.calculator2:id/eq").click()

res=driver.find_element_by_id("com.android.calculator2:id/result").text

if res==str(i[3]):

print("通过")

else:

print("失败")

print('actually=',res,'expected',i[3])

driver.quit()

View Code

python控制genymotion,利用计算器实现计算 相关文章

Python爬虫新手入门教学(六):制作词云图

前言 本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理。 前文内容 Python爬虫新手入门教学(一):爬取豆瓣电影排行信息 Python爬虫新手入门教学(二):爬取小说 Python爬虫新手入门教学(三):爬取链

如何用Maven打war包

我的控制台代码就是打的war包 project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd" modelVersio

【python编码】 UnicodeDecodeError 分析和解决

现象 环境是linux,python2.7,执行以下代码: import jsona = '{"task_id": ["8061964"], "ch_reason": "\u589e\u52a0\u534f\u8bae\u7ba1\u7406\u6a21\u5757\uff0c\u7528\u6765\u7ba1\u7406\u5b58\u6b3e\u4ea7\u54c1\u7684\u6cd5\u5f8b\u534f\u8bae", "chg_

连接控制器功能

//连接控制器 public static int wether_link = 0; private void link_button_Click(object sender, EventArgs e) { if (wether_link == 0) { short res = LTSMC.smc_board_init(CardNum, 2, "192.168.5.11", 115200);// 1:串口连接类型;2: 网口连接类型

java控制夜神访问浏览器

1、环境搭建java+eclipse+appium 参考文档:https://www.jianshu.com/p/1b959e0baae2 2、安装夜神,解决adb无法控制夜神问题 参考文档:https://i.cnblogs.com/posts/edit;postId=14331628 3、利用appium查找页面元素 --》打开浏览器 --》查看设备名称 adb d

Python学习第三天

条件表达式 相当于 c/c++ 中的三目运算符 ____:__ 在python中语法是 ___if ___ else ___ 比如输出两个数中较大数: a = int(input('请输入第一个整数: '))b = int(input('请输入第二个整数: '))if a = b: print(a)else: print(b)使用条件表达式可以写成print(

python中解析接口返回的xml、html数据对象

BeautifulSoup库通俗来说是【解析、遍历、维护“标签树”(例如html、xml等格式的数据对象)的功能库】 安装BeautifulSoup 库 导包 from bs4 import BeautifulSoup 示例 import unittestimport requestsfrom bs4 import BeautifulSoupclass MyTestCase(unittes

python的一点点学习笔记

自学语言,比较艰难,希望能坚持下去。 字符串处理函数 len(x)返回x的长度str(x)与eval函数相反 在两侧加引号chr(u) 通过Unicode编码u返回对应的字符ord(x)返回字符x对应的Unicode编码 字符串处理方法 str.lower()/str.upper() 将全部字符小写/大写str.split

Python爬虫新手入门教学(五):爬取B站视频弹幕

前言 本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理。 前文内容 Python爬虫新手入门教学(一):爬取豆瓣电影排行信息 Python爬虫新手入门教学(二):爬取小说 Python爬虫新手入门教学(三):爬取链

python - os和shutil

os和shutil 一、os模块 os模块负责程序与操作系统的交互,提供了访问操作系统底层的接口,多用于文件处理。 方法 详解 os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径 os.chdir("dirname") 改变当前脚本工作目录;相当于shell下cd os.curdir

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值