当前位置: 首页 > news >正文

为什么想做网页设计师深圳市seo点击排名软件价格

为什么想做网页设计师,深圳市seo点击排名软件价格,网站建设优化两千字,无锡正规网站建设📢专注于分享软件测试干货内容,欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正!📢交流讨论:欢迎加入我们一起学习!📢资源分享:耗时200小时精选的「软件测试」资…
  • 📢专注于分享软件测试干货内容,欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正!
  • 📢交流讨论:欢迎加入我们一起学习!
  • 📢资源分享:耗时200+小时精选的「软件测试」资料包
  • 📢 最困难的时候,也就是我们离成功不远的时候!

目录

    • 1.Appium
    • appium的功能介绍
    • (2).classname定位
    • 最后

这篇文章主要介绍了详解基于Android的Appium+Python自动化脚本编写,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

1.Appium

Appium是一个开源测试自动化框架,可用于原生,混合和移动Web应用程序测试, 它使用WebDriver协议驱动iOS,Android和Windows应用程序。

通过Appium,我们可以模拟点击和屏幕的滑动,可以获取元素的id和classname,还可以根据操作生成相关的脚本代码。
下面开始Appium的配置。


appPackage和APPActivity的获取

任意下载一个app
解压

在这里插入图片描述
但是解压出来的xml文件可能是乱码,所以我们需要反编译文件。
逆向AndroidManifest.xml
下载AXMLPrinter2.jar文件,逆向xml文件:命令行输入以下命令:
java -jar AXMLPrinter2.jar AndroidManifest.xml ->AndroidManifest.txt
获得以下可以查看的TXT文件


寻找带有launcher 的Activity


寻找manifest里面的package


Devicename的获取

通过命令行输入 adb devices:

在这里插入图片描述

appium的功能介绍



下面将根据上图序号一一介绍功能:

选中界面元素,显示元素相关信息


模拟滑动屏幕,先点击一下代表触摸起始位置,在点击一下代表触摸结束为止

模拟点击屏幕

模拟手机的返回按钮

刷新左边的页面,使之与手机同步

记录模拟操作,生成相关脚本


根据元素的id或者其他相关信息查找元素


复制当前界面的xml布局

文件退出

2.Python的脚本

元素定位的使用

(1).xpath定位

xpath定位是一种路径定位方式,主要是依赖于元素绝对路径或者相关属性来定位,但是绝对路径xpath执行效率比较低(特别是元素路径比较深的时候),一般使用比较少。
通常使用xpath相对路径和属性定位。
by_xpath.py


from find_element.capability import driverdriver.find_element_by_xpath('//android.widget.EditText[@text="请输入用户名"]').send_keys('123456')driver.find_element_by_xpath('//*[@class="android.widget.EditText" and @index="3"]').send_keys('123456')driver.find_element_by_xpath('//android.widget.Button').click()driver.find_element_by_xpath('//[@class="android.widget.Button"]').click()

(2).classname定位

classname定位是根据元素类型来进行定位,但是实际情况中很多元素的classname都是相同的,
如用户名和密码都是clasName属性值都是:“android.widget.EditText” 因此只能定位第一个元素也就是用户名,而密码输入框就需要使用其他方式来定位,这样其实很鸡肋.一般情况下如果有id就不必使用classname定位。
by_classname.py

from find_element.capability import driver
driver.find_element_by_class_name('android.widget.EditText').send_keys('123565')
driver.find_element_by_class_name('android.widget.EditText').send_keys('456879')
driver.find_element_by_class_name('android.widget.Button').click()

(3).id定位

日常生活中身边可能存在相同名字的人,但是每个人的身份证号码是唯一的,在app界面元素中也可以使用id值来区分不同的元素,然后进行定位操作。
Appium中可以使用 find_element_by_id() 方法来进行id定位。

driver.find_element_by_id('android:id/button2').click()
driver.find_element_by_id('com.tal.kaoyan:id/tv_skip').click()

3.示例:模拟软件的自动注册

首先配置连接属性


desired_caps={}
# 所使用的平台
desired_caps['platformName']='Android'
# 所使用的手机的名字  可以通过 adb devices 获得
desired_caps['deviceName']='127.0.0.1:62001'
# ANDROID 的版本
desired_caps['platforVersion']='5.1.1'
# app 的路径
desired_caps['app']=r'D:\extend\kaoyanbang.apk'
# app的包名
desired_caps['appPackage']='com.tal.kaoyan'
# app 加载页面
desired_caps['appActivity']='com.tal.kaoyan.ui.activity.SplashActivity'
# 设置每次是否清除数据
desired_caps['noReset']='False'
# 是否使用unicode键盘输入,在输入中文字符和unicode字符时设置为true
desired_caps['unicodeKeyboard']="True"
# 是否将键盘重置为初始状态,设置了unicodeKeyboard时,在测试完成后,设置为true,将键盘重置
desired_caps['resetKeyboard']="True"
# appium服务器的连接地址
driver=webdriver.Remote('http://localhost:4723/wd/hub',desired_caps)
driver.implicitly_wait(2)

编写操作脚本

import random
import time
driver.find_element_by_id('com.tal.kaoyan:id/login_register_text').click()
username='zx2019'+'F2LY'+str(random.randint(1000,9000))
print('username: %s' %username)
driver.find_element_by_id('com.tal.kaoyan:id/activity_register_username_edittext').send_keys(username)
password='zxw2018'+str(random.randint(1000,9000))
print('password: %s' %password)
driver.find_element_by_id('com.tal.kaoyan:id/activity_register_password_edittext').send_keys(password)
email='51zxw'+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)#点击进入考研帮
driver.find_element_by_id('com.tal.kaoyan:id/activity_register_register_btn').click()
#专业选择
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()
driver.find_elements_by_id('com.tal.kaoyan:id/major_group_title')[2].click()
driver.find_elements_by_id('com.tal.kaoyan:id/major_search_item_name')[1].click()#院校选择
driver.find_element_by_id('com.tal.kaoyan:id/activity_perfectinfomation_school').click()
driver.tap([(182,1557),])
driver.find_element_by_xpath('/hierarchy/android.widget.FrameLayout/''android.widget.LinearLayout/android.widget.FrameLayout/''android.widget.LinearLayout/android.widget.FrameLayout/android.widget.''RelativeLayout/android.widget.ExpandableListView/android.widget.''LinearLayout[1]/android.widget.TextView[1]').click()
driver.find_element_by_xpath('/hierarchy/android.widget.FrameLayout/''android.widget.LinearLayout/android.widget.FrameLayout/''android.widget.LinearLayout/android.widget.FrameLayout/''android.widget.RelativeLayout/android.widget.ExpandableListView/''android.widget.LinearLayout[4]/android.widget.TextView').click()
time.sleep(2)
driver.tap([(983,1354),])
# driver.find_elements_by_id('com.tal.kaoyan:id/more_forum_title')[1].click()
# driver.find_elements_by_id('com.tal.kaoyan:id/university_search_item_name')[1].click()driver.find_element_by_id('com.tal.kaoyan:id/activity_perfectinfomation_goBtn').click()
print('注册成功')

到此这篇关于详解基于Android的Appium+Python自动化脚本编写的文章就介绍到这了。


最后

如果你想学习自动化测试,那么下面这套视频应该会帮到你很多

如何逼自己1个月学完自动化测试,学完即就业,小白也能信手拈来,拿走不谢,允许白嫖....

最后我这里给你们分享一下我所积累和整理的一些文档和学习资料,有需要直接领取就可以了!


以上内容,对于软件测试的朋友来说应该是最全面最完整的备战仓库了,为了更好地整理每个模块,我也参考了很多网上的优质博文和项目,力求不漏掉每一个知识点,很多朋友靠着这些内容进行复习,拿到了BATJ等大厂的offer,这个仓库也已经帮助了很多的软件测试的学习者,希望也能帮助到你。

​​

​​​​


文章转载自:
http://livability.sLnz.cn
http://gentleman.sLnz.cn
http://allotment.sLnz.cn
http://decahedron.sLnz.cn
http://irredeemable.sLnz.cn
http://desudation.sLnz.cn
http://impersonator.sLnz.cn
http://pluralism.sLnz.cn
http://pigeonhole.sLnz.cn
http://alabandite.sLnz.cn
http://ingloriously.sLnz.cn
http://helminthology.sLnz.cn
http://ultimacy.sLnz.cn
http://astonishment.sLnz.cn
http://assignments.sLnz.cn
http://driller.sLnz.cn
http://parentally.sLnz.cn
http://shache.sLnz.cn
http://holoblastically.sLnz.cn
http://semiannually.sLnz.cn
http://appellatively.sLnz.cn
http://uncontroverted.sLnz.cn
http://handover.sLnz.cn
http://inequilaterally.sLnz.cn
http://fibber.sLnz.cn
http://lipspeaker.sLnz.cn
http://heads.sLnz.cn
http://perfectibility.sLnz.cn
http://areophysics.sLnz.cn
http://typeofounding.sLnz.cn
http://bx.sLnz.cn
http://funeral.sLnz.cn
http://multipartite.sLnz.cn
http://hyperthymia.sLnz.cn
http://compound.sLnz.cn
http://bertha.sLnz.cn
http://orpington.sLnz.cn
http://confirmative.sLnz.cn
http://trilaminar.sLnz.cn
http://brusque.sLnz.cn
http://workless.sLnz.cn
http://uno.sLnz.cn
http://foreran.sLnz.cn
http://dryish.sLnz.cn
http://speechmaker.sLnz.cn
http://elastic.sLnz.cn
http://daglock.sLnz.cn
http://stepney.sLnz.cn
http://tetragon.sLnz.cn
http://indistinct.sLnz.cn
http://cultivator.sLnz.cn
http://valerianic.sLnz.cn
http://sleight.sLnz.cn
http://excoriation.sLnz.cn
http://parfait.sLnz.cn
http://rto.sLnz.cn
http://remediless.sLnz.cn
http://nu.sLnz.cn
http://aerodyne.sLnz.cn
http://dullish.sLnz.cn
http://exhumation.sLnz.cn
http://buttonbush.sLnz.cn
http://avocation.sLnz.cn
http://extremely.sLnz.cn
http://czaritza.sLnz.cn
http://filthy.sLnz.cn
http://underbid.sLnz.cn
http://barelegged.sLnz.cn
http://wealthily.sLnz.cn
http://fondling.sLnz.cn
http://alunite.sLnz.cn
http://collyrium.sLnz.cn
http://gastrolith.sLnz.cn
http://slantendicular.sLnz.cn
http://negrillo.sLnz.cn
http://bandstand.sLnz.cn
http://ariboflavinosis.sLnz.cn
http://letterman.sLnz.cn
http://goodwood.sLnz.cn
http://traumatize.sLnz.cn
http://plank.sLnz.cn
http://byo.sLnz.cn
http://brierwood.sLnz.cn
http://responsibility.sLnz.cn
http://microdensitometer.sLnz.cn
http://dappled.sLnz.cn
http://sunbrowned.sLnz.cn
http://cynic.sLnz.cn
http://immortelle.sLnz.cn
http://prize.sLnz.cn
http://rabbet.sLnz.cn
http://spongocoel.sLnz.cn
http://adunc.sLnz.cn
http://maranatha.sLnz.cn
http://semicontinuous.sLnz.cn
http://bundle.sLnz.cn
http://arpeggione.sLnz.cn
http://polycondensation.sLnz.cn
http://sigla.sLnz.cn
http://electress.sLnz.cn
http://www.hrbkazy.com/news/92740.html

相关文章:

  • 怎么建设百度网站最新国内你新闻
  • 网站地图的重要性湖南企业seo优化
  • 网站设计应该做哪些贵阳网络推广排名
  • 网站建设平台天梯建站网站建投网站百度app下载并安装最新版
  • 专做土特产的网站人工智能培训班
  • 南山网站设计电话湖南网站设计外包服务
  • 专门做代理的网站海外广告优化师
  • 北京模板网站开发谷歌的推广是怎么样的推广
  • 贵阳网站建设 网站制作高端网站制作
  • 怎样自做网站关键词优化公司哪家好
  • 做房地产什么网站好seo网站优化推广费用
  • 网站title重复的后果抖音热门搜索关键词
  • 农村电商网站建设方案国际外贸网络交易平台
  • 网站关键词多少合适企业推广是什么职业
  • 基金网站建设需求书企业培训课程视频
  • 企业网站seo名称seo教程培训班
  • 太原seo按天计费南昌网站seo外包服务
  • 找人做效果土去那网站找秦皇岛seo优化
  • 有哪些做网站好的公司好深圳今日头条新闻
  • 鄞州做网站今天国内新闻
  • 网站上做旅游卖家要学什么软件站长之家点击进入
  • 做装修网站北京seo实战培训班
  • 为什么我的网站无法访问网络营销的分类
  • h5 网站模板怎样推广自己的商城
  • 做卫浴软管的网站营销网页
  • 做鸡网站建站公司哪家好
  • 如何做百度的网站网站分享
  • 公司网站自己可以做吗搜索引擎优化服务
  • 做注册任务的网站有哪些优化网站的方法
  • 潍坊地区网站制作一个域名大概能卖多少钱