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

广东省建设职业注册中心网站深圳提供网站建设制作

广东省建设职业注册中心网站,深圳提供网站建设制作,百度关键词点击工具,如何查询网站备案进度简介 获取AppPackage和AppActivity 定位UI控件的工具 脚本结构 PageObject分层管理 HTMLTestRunner生成测试报告 启动appium server服务 以python文件模式执行脚本生成测试报告 【B站最通俗易懂】Python接口自动化测试从入门到精通#xff0c;超详细的进阶教程#xff0c;看完…简介 获取AppPackage和AppActivity 定位UI控件的工具 脚本结构 PageObject分层管理 HTMLTestRunner生成测试报告 启动appium server服务 以python文件模式执行脚本生成测试报告 【B站最通俗易懂】Python接口自动化测试从入门到精通超详细的进阶教程看完这套视频就够了 下载与安装 下载需要自动化测试的App并安装到手机 获取AppPackage和AppActivity 方法一 有源码的情况直接打开AndroidManifest.xml文件文件会有package信息 android.intent.action.MAIN决定应用程序最先启动的Activity android.intent.category.LAUNCHER决定应用程序是否显示在程序列表里 方法二 反编译apk反编译后打开AndroidManifest.xml文件文件会有package信息 方法三 aapt dump badging F:\****.apk aapt工具是sdk自带的一个工具在sdk\builds-tools\目录下将appt.exe所在路径添加至path环境变量里cmd输入aapt查看是否可使用有如下响应内容即成功 将需要查看的apk复制到电脑任意路径下例如F:\1.apk 使用命令 aapt dump badging F:\1.apk 运行后的结果前两行分别是包名appPackage和Activity aapt dump xmltree F:\****.apk AndroidManifest.xml 方法四 将需要查看的apk复制到电脑任意路径下例如F:\1.apk 使用命令 aapt dump xmltree F:\1.apk AndroidManifest.xml 运行后的结果就有包名appPackage和Activity 方法五 adb logcat -c //清除logcat内容 adb logcat ActivityManager:I *:s //仅输出标记为“ActivityManager”并且优先级大于等于“Info”的日志*:S用于设置所有标记的日志优先级为S(无记载最高优先级没有什么会被记载) 手机启动要查看的app就会加载日志信息 结果如下图 方法六 adb logcat D:/logs.txt 或 adb logcat|find Displayed d:/logs.txt 启动appcmd输入adb logcat D:/logs.txt开启日志输入CtrlC关闭日志在日志查找appPackage和AppActivity文件内搜索Displayed找到Package和Activity信息 或使用该命令直接过滤再保存到txt文件内 adb logcat|find Displayed d:/logs.txt 最终得到App的信息如下 1 appPackagecom.nbi.aquatic 2 appActivity.ui.login.LoginActivity定位UI控件的工具 使用Android SDK的uiautomatorviewer.bat在..\sdk\tools\ 目录下电脑开启开发者模式可以使用adb命令的状态下使用该sdk自带的工具可视化安卓手机的界面信息 ★ 脚本结构 somke_test.py 存放测试集 config.py 存放自动化测试所用到的数据如账号密码默认密码等 pool.py等 测试集中的一个测试用例的page层 base.py 页面基础层供page层继承 HTMLTestRunner.py 生成测试报告的模块可集成到代码里不需在环境中安装该模块也可在电脑python环境里安装配置 自行百度Pycharm使用python3无法通过HTMLTestRunner生成测试报告 config.py 存放自动化测试所用到的数据如账号密码默认密码等 1 settings { 2 admin: { 3 number: 13600000000, 4 password: qaz123 5 }, 6 default_password: a123456 7 } 8 ADMIN_NUMBER settings[admin][number] 9 ADMIN_PASSWORD settings[admin][password] 启动app的相关配置传到appium服务端和连接手机的代码写在测试集TestCase外面如果写在初始化测试平台的测试用例里则只能启动执行一次用例 1 desired_caps {}2 # Android自动化还是Ios自动化3 desired_caps[platformName] Android4 # Android操作系统版本5 desired_caps[platformVersion] 5.16 # 设备名称7 desired_caps[deviceName] 127.0.0.1:620018 # 被测App包名9 desired_caps[appPackage] com.nbi.aquatic 10 # 被测App的入口Activity名 11 desired_caps[appActivity] .ui.login.LoginActivity 12 desired_caps[automationName] Uiautomator2 13 # 把以上配置传到appium服务端并连接手机 14 driver webdriver.Remote(http://localhost:4723/wd/hub, desired_caps) 启动app用到的是unittest自带的setUp方法 1 def setUp(self): 2 # 初始化测试平台 3 self.driver driver 关闭app用到的不是unittest自带的tearDown方法而是自定义了一个test_*_end_testing函数这个函数负责关闭app是在测试集里的最后一个测试用例 1 def test_36_end_testing(self): 2 结束测试 3 self.driver.quit() 整体测试用例结构采用PageObject分层管理 1.一个测试用例就是一个函数后期增加用例时在后面增加新函数即可 2.为了使用unittest框架执行测试集命名都以test开头例如test_16_creat_aquatype 3.每个用例又分独立的page层例如测试集里的用例test_16_creat_aquatype其page层就是PoolPage在编写测试集时引入该文件即可也就是testcase层调用page层 1 from appium import webdriver2 from test_case.page_object.admin.pool import PoolPage3 import unittest4 import config5 import time6 class SmokeTest(unittest.TestCase):7 def setUp(self):8 # 初始化测试平台9 self.driver driver 10 def test_10_admin_login(self): 11 手机登录 12 LoginPage(self.driver).PhoneNumberlogin_action( 13 config.ADMIN_NUMBER, 14 config.ADMIN_PASSWORD, 15 ) 16 def test_16_creat_aquatype(self): 17 添加水产类型 18 PoolPage(self.driver).creat_aquatype(new_aquatype_name) 19 def test_17_creat_aquatic(self): 20 养殖池添加养殖 21 PoolPage(self.driver).creat_aquatic() 22 def test_36_end_testing(self): 23 结束测试 24 self.driver.quit() 25 if __name__ __main__: 26 # 定义一个单元测试容器 27 suite unittest.TestSuite() 28 # addTest添加case到suite容器中,构造测试集 29 suite.addTest(SmokeTest(test_10_admin_login)) 30 suite.addTest(SmokeTest(test_16_creat_aquatype)) 31 suite.addTest(SmokeTest(test_17_creat_aquatic)) 32 suite.addTest(SmokeTest(test_36_end_testing)) 33 # 执行case 34 runner.run(suite) 4.测试用例test_16_creat_aquatype的page层就是PoolPage每个page层又都继承页面基础层BasePage 1 from selenium.webdriver.common.by import By2 from test_case.page_object.base import BasePage3 import time4 class PoolPage(BasePage):5 定位元素6 creataquatic_btn_loc (By.ID, com.nbi.aquatic:id/tv_add_breed)7 select_starttime_btn_loc (By.ID, com.nbi.aquatic:id/textView158)8 # 添加水产类型水产名称最长10个字符9 def creat_aquatype(self, aquatype_name): 10 time.sleep(3) 11 self.find_element(*self.creataquatic_btn_loc).click() 12 ....... 13 # 养殖池添加养殖 14 def creat_aquatic(self): 15 self.find_element(*self.select_starttime_btn_loc).click() 5.页面基础层BasePage 1 from selenium.webdriver.support.ui import WebDriverWait2 from selenium.webdriver.support import expected_conditions as EC3 class BasePage(object):4 页面基础类用于所有页面的继承5 def __init__(self, selenium_driver):6 self.driver selenium_driver7 self.timeout 308 self.poll_frequency 0.19 10 def find_element(self, *loc): 11 return self.driver.find_element(*loc) 12 13 def find_elements(self, *loc): 14 return self.driver.find_elements(*loc) 15 16 def content_appeared(self): 17 self.find_element() 18 19 def wait(self, loc): 20 WebDriverWait(self.driver, 10, 0.005).until( 21 EC.visibility_of_element_located(loc) 22 ) 23 24 def wait_and_compare(self, loc, text): 25 WebDriverWait(self.driver, 30, 0.5).until( 26 EC.text_to_be_present_in_element(loc, text) 27 ) 生成HTML测试结果报告 引入方式一直接电脑python环境安装HTMLTestRunner模块 1 import HTMLTestRunner2 if __name__ __main__:3 suite unittest.TestSuite()4 suite.addTest(SmokeTest(test_*_*))5 # 写法一6 timestr time.strftime(%Y%m%d, time.localtime(time.time())) # 本地日期作为报告名字7 filename F:\\folder_data\\ # 文件名字及保存路径8 fp open(filename (timestr .html), wb)9 runner HTMLTestRunner.HTMLTestRunner(streamfp, title冒烟测试报告, description用例执行情况 ) 10 11 # 写法二 12 timestr time.strftime(%Y%m%d, time.localtime(time.time())) 13 filename ../_reports/ timestr .html 14 fp open(filename, wb) 15 runner HTMLTestRunner.HTMLTestRunner(streamfp, title冒烟测试报告, description用例执行情况 ) 16 17 # 执行case,并生成一份测试报告 18 runner.run(suite) 19 fp.close() 引入方式二将HTMLTestRunner下载集成在代码内 模块下载地址http://tungwaiyip.info/software/HTMLTestRunner.html 1 from packages.HTMLTestRunner import HTMLTestRunner2 if __name__ __main__:3 suite unittest.TestSuite()4 suite.addTest(SmokeTest(test_*_*))5 # 写法三6 fp open(../_reports/result.html, wb)7 runner HTMLTestRunner(streamfp, title冒烟测试报告, description用例执行情况 )8 # 执行case,并生成一份测试报告9 runner.run(suite) 10 fp.close()
http://www.hkea.cn/news/14353071/

相关文章:

  • seo网站推广软件重庆公众号开发服务
  • 网站建设费入如保入账成都建设网站公司哪家好
  • 网站备案时核验单wordpress设置访客登陆
  • 建立网站站点wordpress模板格式
  • 寿光网站建设哪家好长春是不是要封城了
  • 网站建设项目报价吉林省水土保持生态建设网站
  • 常见的制作网站的工具开发一个小程序
  • 百度网站官网网站seo 工具
  • 淘宝作图在哪个网站上做图江西企业网站建设
  • seo 对网站有什么影响网站树状结构图怎么做
  • 中小企业查询网站郑州高端网站制作
  • 深圳网站建设找哪家公司好沙洋网页定制
  • 做书籍的网站WordPress主题VR插件
  • 三五互联网站后台 天堂资源地址在线
  • 建设网站用什么软件下载阿里云网站建设 部署与发布
  • 门户网站开发步骤网站原则
  • 免费个人网站空间申请门户网站模块
  • 泰州网站建设案例网站建设itcask
  • 金色财经网站开发画室网站模板
  • 网页制作与网站建设完全学习手册上海网页设计公司怎么样
  • 股票网站排名哪个好合肥seo优化外包公司
  • 网站群建设路径网站建设亻金手指下拉
  • 个人如何制作网站源码wordpress获取数组长度
  • 网站非法收录用户信息百度竞价点击神器
  • 普洱网站建设wordpress 缓慢
  • 设计网站大全扣西湖南岚鸿首选wordpress怎么启用sll证书
  • 在百度上怎么建立网站吗网站怎样恶意刷
  • 网站需求建设书重庆市建设节能中心网站
  • 做酒网站重庆市建设工程信息网安全监督特种人员
  • 代做网站 猪八戒网苏州cms模板建站宝