python操作appium,python3 操作appium

# -*- coding: utf-8 -*-

# @Time : 2018/10/8 11:00

# @Author : cxa

# @File : test.py

# @Software: PyCharmctx

from appium import webdriver

from selenium.webdriver.support.ui import WebDriverWait

from selenium.webdriver.support import expected_conditions as EC

from selenium.webdriver.common.by import By

import time

import base64

def start_appium():

desired_caps = {}

desired_caps['platformName'] = 'Android' # 设备系统

desired_caps['deviceName'] = '127.0.0.1:62001' # 设备名称

desired_caps['appPackage'] = 'com.alicom.smartdail' # 测试app包名

desired_caps['appActivity'] = 'com.alicom.smartdail.view.enter.SplashActivity' # 测试appActivity

desired_caps['platformVersion'] = '4.4.2' # 设备系统版本

desired_caps['noReset'] = True # 启动后结束后不清空应用数据

desired_caps['unicodeKeyboard'] = True # 此两行是为了解决字符输入不正确的问题

desired_caps['resetKeyboard'] = True # 运行完成后重置软键盘的状态

driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps) # 启动app

wait = WebDriverWait(driver, 60)

# time.sleep(20)

try:

btn_xpath = '//android.widget.Button[@resource-id="com.alicom.smartdail:id/m_nonum_confirm_btn"]'

btn_node = wait.until(EC.presence_of_element_located((By.XPATH, btn_xpath)))

# btn_node=driver.find_element_by_xpath(btn_xpath)

btn_node.click()

except:

driver.back()

btn_xpath = '//android.widget.Button[@resource-id="com.alicom.smartdail:id/m_nonum_confirm_btn"]'

btn_node = wait.until(EC.presence_of_element_located((By.XPATH, btn_xpath)))

# btn_node = driver.find_element_by_xpath(btn_xpath)

btn_node.click()

# sleep 30s

# 点击

def login_in(driver):

id_xpath = '//android.widget.EditText[@content-desc="账户名输入框"]'

id_node = driver.find_element_by_xpath(id_xpath)

id_node.clear()

id_node.send_keys("test")

pwd = str(base64.b64decode("MTIzNHF3ZXI="), 'u8')

pwd_xpath = '//android.widget.EditText[@content-desc="密码输入框"]'

pwd_node = driver.find_element_by_xpath(pwd_xpath)

pwd_node.clear()

pwd_node.send_keys(pwd)

submit = "//android.widget.Button[@text='登录']"

submit_node = driver.find_element_by_xpath(submit)

submit_node.click()

time.sleep(10)

if __name__ == '__main__':

start_appium()

【Python数据分析】Python3操作Excel(二) 一些问题的解决与优化

继上一篇[Python数据分析]Python3操作Excel-以豆瓣图书Top250为例 对豆瓣图书Top250进行爬取以后,鉴于还有一些问题没有解决,所以进行了进一步的交流讨论,这期间得到了一只尼玛 ...

python3操作redis

redis也被称为缓存 1.redis是一个key-value存储系统,没有ForeignKey和ManyToMany的字段. 2.在redis中创建的数据彼此之间是没有关系的,所以也被称为是非关系型 ...

Windows下Python3+nose+appium自动化测试之Android篇

[本文出自天外归云的博客园] 简介 以下用来做自动化测试的这款app叫最爱抓娃娃,以后会改名为网易抓娃娃. 下文提到的appiumier项目里会包含用来测试的apk包以及自动化测试代码. 先说一个坑 ...

python3操作mysql教程

一.下载\安装\配置 1. python3 Python3下载网址:http://www.python.org/getit/ 当前最新版本是python3.2,下载地址是 http://www.pyt ...

Python3操作MySQL基于PyMySQL封装的类

Python3操作MySQL基于PyMySQL封装的类   在未使用操作数据库的框架开发项目的时候,我们需要自己处理数据库连接问题,今天在做一个Python的演示项目,写一个操作MySQL数据库的类, ...

python3操作PyMySQL笔记

python3操作mysql需要先安装PyMySQL pip install PyMySQL 在linux登录mysql ,并且在安装数据库时设置了数据库的用户名“root”和密码“root”,mys ...

【Python数据分析】Python3操作Excel-以豆瓣图书Top250为例

本文利用Python3爬虫抓取豆瓣图书Top250,并利用xlwt模块将其存储至excel文件,图片下载到相应目录.旨在进行更多的爬虫实践练习以及模块学习. 工具 1.Python 3.5 2.Bea ...

python-phpbb3 (可以用python3 操作 phpbb3 论坛的模块)

python-phpbb3 2016年8月30日 04:50:48 codegay phpbb3是PHP写的开源的论坛,python-phpbb3这个项目是用python3实现很多对phpbb3论坛操 ...

python3操作socketserver

socketserver是标准库中的一个高级模块,用于网络客户端与服务器的实现.模块中,已经实现了一些可供使用的类. 在python3中,导入socketserver模块使用的命令: import s ...

随机推荐

android Listview item 中有button,item就不响应触摸事件

为button设置 beanButton.getButton().setFocusable(false); beanButton.getButton().setFocusableInTouchMode ...

算法 fill

fill(vec.begin(), vec.end(),); //reset all elements to fill(vec.begin(),vec.begin + vec.size/, );//s ...

python 列表、字典的方法

# 列表最后新增元素 li = [11, 22, 33] print(li) li.append(44) # 对原列表最后增加一个元素 print(li) 执行如下: [11, 22, 33][11, ...

HDFS配额管理(实战)

概述: Hadoop分布式文件系统(HDFS)允许管理员为使用的名称和单独目录使用的空间数量设置配额.名称配额和空间配额是独立运作的,但这两类配额的管理和实施是密切相关的. Name Quotas: ...

Dijkstra算法 c语言实现

Dijkstra(迪杰斯特拉)算法是典型的最短路径路由算法,用于计算一个节点到其他所有节点的最短路径.主要特点是以起始点为中心向外层层扩展,直到扩展到终点为止.Dijkstra算法能得出最短路径的最优 ...

Mysqlutil.JDBCutil.Dtabaseutil数据库操作工具类[批量操作]

一个用来操作数据库的常用工具类. 提供批量操作,生成建表,插入语句等 操作示例: // 1.获取连接 DataBaseUtil jdbc = new DataBaseUtil(); jdbc.getC ...

DLC 基本逻辑运算

逻辑代数:分析设计数字电路的数学基础是逻辑代数 变量的取值只能是 0 1 逻辑代数中只有三种基本逻辑运算,即 与 或 非 与逻辑运算: 只有决定一件事情的全部条件都具备时,这事件才成立.这样的因果关系 ...

Liferay7 BPM门户开发之8: Activiti实用问题集合

1.如何实现审核的上级获取(任务逐级审批) 这个是必备功能,通过Spring的注入+Activiti表达式可以很容易解决. 可参考: http://blog.csdn.net/sunxing007/a ...

odoo 11 实现多个字段对应一个查询参数的查询

在整理英语单词开发模块的过程中,有这样一个需求,就是我在查询界面里输入一个查询的值A,这个A可能是下面的任何一个值 1.一个英语单词  2.汉语文字  3.一个英语单词的部分 这里有两张表:engli ...

Prezento – 轻量、简单的 jQuery 幻灯片插件

Prezento 是一个超级简单的 jQuery 幻灯片插件.可以让你网页以新颖的交互方式呈现.另外,Prezento 支持响应式设计,配置项也很灵活,可以根据你需要的效果配置. 您可能感兴趣的相关文 ...

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值