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()
python3 操作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 ...
随机推荐
- Day Six
站立式会议 站立式会议内容总结 442 今天:实现计划界面的逻辑 遇到的问题:模态框问题 明天:解决上面问题,开始使用动态数据 331 今天:点击添加找到文件 遇到问题:找到文件在app的引入实现 明 ...
- 中间件——dubbo
DUBBO初探-搭建DUBBO开发环境 2016年10月13日 12:27:49 NeroJings 阅读数:1697 标签: dubbo 更多 个人分类: dubbo 我所理解的DUBBO 相对 ...
- Python进阶-配置文件
一. 什么是配置文件?为什么要做配置文件? 将所有的代码和配置都变成模块化可配置化,这样就提高了代码的重用性,不再每次都去修改代码内部,这个就是我们逐步要做的事情,可配置化 二. 配置文件长啥样? 配 ...
- npm 切换淘宝镜像几种方式
淘宝 npm 地址: http://npm.taobao.org/ 如何使用 有很多方法来配置npm的registry地址,下面根据不同情境列出几种比较常用的方法.以淘宝npm镜像举例: 1.临时使用 ...
- 【设计模式】—— 备忘录模式Memento
前言:[模式总览]——————————by xingoo 模式意图 这个模式主要是想通过一个对象来记录对象的某种状态,这样有利于在其他需要的场合进行恢复. 该模式还有跟多可以扩展的地方,比如可以记录多 ...
- 关于django-rest-freamwork中的View
view > views.APIView > generics.GenericAPIView > viewsets.GenericViewSet 1.APIView(继承 view) ...
- oracle 配置本地Net服务
1.查看当前数据库名字(前提是已经创建了),先前忘记数据库实例名乱输,然后创建一直失败 开始,程序,Oracle_xxxx_home1 ,配置和移植工具, Database Configuration ...
- 【BZOJ4888】[TJOI2017]异或和(树状数组)
[BZOJ4888][TJOI2017]异或和(树状数组) 题面 BZOJ 洛谷 题解 考虑每个位置上的答案,分类讨论这一位是否存在一,值域树状数组维护即可. #include<iostream ...
- 【模板】LCA
代码如下 #include <bits/stdc++.h> using namespace std; const int maxn=5e5+10; inline int read(){ i ...
- composer require 本地包(用于开发使用)
修改 composer.json "repositories": [ { "type": "path", "url": ...