测试场景
1.进入注册界面设置头像
2.输入注册信息:用户名、密码、邮箱
3.完善院校和专业信息 (院校:上海-同济大学 专业:经济学类-统计学-经济统计学)
4.完成注册
代码实现
capability.py

from appium import  webdriver
from selenium.common.exceptions import NoSuchElementExceptiondesired_caps={}
desired_caps['platformName']='Android'
# desired_caps['deviceName']='127.0.0.1:62025'
# desired_caps['platforVersion']='5.1.1'desired_caps['deviceName']='JDN-W09'
desired_caps['platforVersion']='6.0.1'
desired_caps['udid']='7YRBBDB7B0702188'desired_caps['app']=r'C:\Users\bella\Desktop\20180922\kaoyan3.1.0.apk'
desired_caps['appPackage']='com.tal.kaoyan'
desired_caps['appActivity']='com.tal.kaoyan.ui.activity.SplashActivity'desired_caps['noReset']='false'  #模拟用户非首次启动
desired_caps['unicodeKeyboard']="true"  #登录用了中文,代码要做配置
desired_caps['resetKeyboard']="true"    #重置键盘也要设置为truedriver=webdriver.Remote('http://localhost:4723/wd/hub',desired_caps)
driver.implicitly_wait(2)def check_cancelBtn():print('check cancelBtn')try:cancelBtn = driver.find_element_by_id('android:id/button2') #查找这个元素except NoSuchElementException:print('no cancelBtn')   #当没有这个元素就打印出no cancelBtnelse:cancelBtn.click()   #存在这个元素就去点击def check_skipBtn():print("check_skipBtn")try:skipBtn = driver.find_element_by_id('com.tal.kaoyan:id/tv_skip')except NoSuchElementException:print('no skipBtn')else:skipBtn.click()check_cancelBtn()
check_skipBtn()

kyb_register.py

from find_element.capability import driver
import random #导入随机函数driver.find_element_by_id('com.tal.kaoyan:id/login_register_text').click()#点击注册按钮
driver.find_element_by_id('com.tal.kaoyan:id/activity_register_userheader').click()#点击头像images=driver.find_elements_by_id('com.tal.kaoyan:id/item_image') #获取图片的id
images[2].click()#选取的是第2张图片,所以下标是2driver.find_element_by_id('com.tal.kaoyan:id/save').click()#获取保存按钮的idusername='kyb2018'+'KYB'+str(random.randint(1000,9000)) #注册用户名,后面4位是随机数
print('username:%s' %username)  #打印出注册的用户名
driver.find_element_by_id('com.tal.kaoyan:id/activity_register_username_edittext').send_keys(username)#得到注册用户名这个元素的idpassword='kyb2018'+'KYB'+str(random.randint(1000,9000))#输入密码,后面4位是随机数
print('password %s' %password)  #打印出密码
driver.find_element_by_id('com.tal.kaoyan:id/activity_register_password_edittext').send_keys(password)#得到密码这个元素的idemail='kyb'+str(random.randint(1000,9000))+'@163.com'#输入密码,后面是随机数
print('email: %s' %email)#打印出邮箱
driver.find_element_by_id('com.tal.kaoyan:id/activity_register_email_edittext').send_keys(email)#得到邮箱的iddriver.find_element_by_id('com.tal.kaoyan:id/activity_register_register_btn').click()#点击立即注册#院校选择
driver.find_element_by_id('com.tal.kaoyan:id/perfectinfomation_edit_school_name').click()#只有一个元素用find_element_by_id
driver.find_elements_by_id('com.tal.kaoyan:id/more_forum_title')[1].click()#获取上海的id,多个元素用find_elements_ by_id
driver.find_elements_by_id('com.tal.kaoyan:id/university_search_item_name')[1].click()#获取同济大学这个元素的id#专业选择
driver.find_element_by_id('com.tal.kaoyan:id/activity_perfectinfomation_major').click()
driver.find_elements_by_id('com.tal.kaoyan:id/major_subject_title')[1].click()#获取经济学这个元素的id
driver.find_elements_by_id('com.tal.kaoyan:id/major_group_title')[2].click()#获取统计学这个元素的id
driver.find_elements_by_id('com.tal.kaoyan:id/major_search_item_name')[1].click()#获取经济统计学这个元素的id#进入考研帮
driver.find_element_by_id('com.tal.kaoyan:id/activity_perfectinfomation_goBtn').click()

注意:运行前记得将noRest设置为:desired_caps[‘noReset’]=‘False’ 以免之前的注册残留信息干扰。
报错&解决方案
元素定位报错
selenium.common.exceptions.NoSuchElementException: Message: An element could not be located on the page using the given search parameters.
【解决方案】检查元素id值是否写错。
参考资料
https://blog.csdn.net/u011541946/article/details/77922304

Appium list定位综合案例——用户注册(kyb)相关推荐

  1. Appium元素定位和案例(有注释)

    1.元素识别方法 元素识别方法: 前面也说过appium也是以webdriver为基础的,对于元素的定位也基本一致,只是增加一些更适合移动平台的独特方式: id定位: 主要看resource id的值 ...

  2. 定位综合案例-淘宝轮播图

    效果图: 布局分析: 1.大盒子 定义类名:tb-promo 淘宝广告 2.盒子内放入图片 3.左右两个按钮用链接 左键头prev 右箭头 next 4.底测小圆点ul无序列表制作 定义类名 prom ...

  3. Appium id定位综合实践——自动登录(交易宝)

    测试场景 1.启动App,进入到登录界面 2.在登录页面输入用户名"suwen20",密码'123456' 然后点击登录. 需求分析 1.可以把启动后检测升级弹窗和引导页面的模块抽 ...

  4. 前端:CSS/12/display属性,overflow属性,cursor光标类型,CSS定位,综合案例:今日闪价

    display属性 功能:规定网页元素如何显示: 取值:none(隐藏),block(以块元素显示),inline(以行内元素显示): block:可以实现将行内元素转换为块元素: inline:可以 ...

  5. Python Appium自动化测试框架 综合实践案例(中)

    Time will tell. 本篇章紧接上一篇继续来分享关于 Appium 自动化测试框架综合实践案例代码.框架所需要的代码实现都已基本完成. data数据封装 1.使用背景 在实际项目过程中,我们 ...

  6. Appium+python自动化(三十八) - Appium自动化测试框架综合实践 - 框架简介-助你冲击高薪,迎娶白富美(超详解)...

    简介 好久没有更新博客了,博友们是不是有点等不及了.不好意思啊,中秋节过后太忙了,这篇是好不容易抽点零碎时间写的.从这一篇开始小伙伴或者童鞋们,就跟随宏哥的脚步,一步步的从无到有,从0到1的搭建一个完 ...

  7. CSS 背景(background)(背景颜色color、背景图片image、背景平铺repeat、背景位置position、背景附着、背景简写、背景透明、链接导航栏综合案例)

    1. 背景颜色(color) background-color:颜色值; 默认的值是 transparent 透明的 示例代码: <!DOCTYPE html> <html lang ...

  8. 【服务端渲染】NuxtJs 综合案例

    前言 笔记来源:拉勾教育 大前端高薪训练营 阅读建议:建议通过左侧导航栏进行阅读 Nuxt.js 综合案例 基本介绍 案例名称:RealWorld 一个开源的学习项目,目的就是帮助开发者快速学习新技能 ...

  9. java day51【综合案例day03】

    由java day50[综合案例day02] 12.旅游线路名称查询 12.1    查询参数的传递 在header.html中 $("#search-button").click ...

最新文章

  1. 机器学习的出现,是否意味着“古典科学”的过时?
  2. 线上 | ICCV 2021中国预会议日程公开,注册有奖
  3. pjsip for Android的编译
  4. 苹果A13打得过麒麟990吗?看完秒懂
  5. 河北工程大学c语言期末考试及答案,河北工程大学之数据结构c语言版期末考试复习试题...
  6. 010 、JVM实战总结: 动手实验:亲自感受一下线上系统部署时如何设置JVM内存大小
  7. [20180812]四校联考
  8. 软考:软件设计师(历年真题汇总)|希赛网
  9. ubuntu上编译fortran_Ubuntu下安装Intel Fortran编译器(ifort)
  10. Growth—电子书预览版
  11. 程序员的简历应该如何写?(含模拟面试,持续更新)
  12. for in在python中什么意思_Python for 循环中 in 关键字含义是什么?
  13. Wi-Fi 探针 - 智能探针 - 探针盒子 -> 危害用户信息安全
  14. 云超融合数据中心 CloudFabric
  15. redis的incr+expire的坑
  16. 如何删除PPT密码?附详细方法
  17. 利用C#编写一个高斯正反算程序
  18. 计算机配置高低怎么看,电脑配置的高低怎么查看
  19. 智能合约开发——TypeScript 基础(全)
  20. cad 计算机图库,cad模型图库(cad图库怎么用)

热门文章

  1. Ubuntu安装ftp
  2. Unity接入ChartAndGraph图表插件
  3. 51单片机 通过环移指令RL 实现LED的逐个移动点亮
  4. java计算机毕业设计校园旺角超市外卖平台源码+mysql数据库+lw文档+系统+调试部署
  5. php class ref,ref是什么
  6. 软件设计原则之《迪米特原则》
  7. linux dbus 开发环境,ubuntu 安装使用dbus
  8. 游戏蓝牙耳机哪个品牌好?吃鸡蓝牙耳机无延迟排行榜
  9. windows环境java微服务部署
  10. 2021年焊工(初级)找解析及焊工(初级)模拟考试题库