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

做十来个网站优化产品发布网站的装饰怎么做

做十来个网站优化,产品发布网站的装饰怎么做,个人适合做跨境电商吗,网站开发培训哪个好🍅 点击文末小卡片,免费获取软件测试全套资料,资料在手,涨薪更快 一、app自动化环境搭建 1、安装jdk及配置jdk的环境变量 app底层是c语言,应用层是java,所以需要jdk 2、安装SDK,配置android…

🍅 点击文末小卡片,免费获取软件测试全套资料,资料在手,涨薪更快 

一、app自动化环境搭建

1、安装jdk及配置jdk的环境变量

app底层是c语言,应用层是java,所以需要jdk

2、安装SDK,配置android SDK环境
3、安装模拟器
4、下载安装Appium工具

01、appium客户端  appium destop 服务器

02、命令行安装:pip.exe install Appium-Python-Client

 apium python库

二、测试

1、打开usb选项

2、电脑与模拟器建立连接 通过adb命令

检查电脑和模拟器是否建立连接 adb devices

3、没有连接 adb connect  127.0.0.1:62001

三、pycharm代码启动app.apk

1、线性代码

下载考研帮,在电脑端下载后拉到模拟器即可使用

#用python代码启动考研帮
#提前告知代码要测试哪个app,哪个设备
#设备信息
from appium import webdriverinfo={
#测试的平台Androidios
#info['platformName']='Android'
"platformName":"Android",
#测试的版本号设置-关于-版本号
"platformVersion":"7.1.2",
#设备名adbdevices
"deviceName":"127.0.0.1:62001",
#包名获取方式有很多种adbshelldumpsyswindowfindstrmCurrentFocu打开当前窗口的命令
"appPackage":"com.tal.kaoyan",
#应用名
"appActivity":"com.tal.kaoyan.ui.activity.SplashActivity",
#"允许不重置"
"noRest":False
}
#启动考研帮
#web自动化seleniumwebdriver
#app自动化appiumwebdriver
driver=webdriver.Remote('http://127.0.0.1:4723/wd/hub',info)
#重点打开appiumdestop,start#清空设置-应用-缓存
#appiumsdk中的工具tools,uiautomator.bat
#测试登录
#取消点击
#driver.find_element_by_id('android:id/button2').click()
#跳过点击
#driver.find_element_by_id('com.tal.kaoyan:id/tv_skip').click()
#用户协议点击同意
#每次打开界面都不一样,不写代码了
#无法播放此视频点击确定
driver.find_element_by_id('android:id/button1').click()
#密码登录
driver.find_element_by_id('com.tal.kaoyan:id/loginRegistorcodeAndPassword').click()
#输入用户名,输入密码,点击登录按钮
driver.find_element_by_id('com.tal.kaoyan:id/loginEmailEdittext').send_keys('')
driver.find_element_by_id('com.tal.kaoyan:id/loginPasswordEdittext').send_keys('')
#已阅读并同意,点击单选按钮
driver.find_element_by_id('android.widget.CheckBox').click()
#点击登录
#driver.find_element_by_id('com.tal.kaoyan:id/loginLoginBtn').click()
#xpath写法
driver.find_element_by_xpath("//*[@text='登录']").click()

2、优化代码

优化思路:

登录脚本  优化  配置信息放在yaml文件
启动时,如果说没启动,启动报错,可以用日志文件记录起来,封装日志
登录,有些app会弹窗,这些方法可以封装成公共方法 公共文件
登录脚本,关键字驱动,把常用的方法封装成一个文件
测试登录,测试不同的情况,可以用unittest,pytest;+ddt测试数据,可以放在测试文件中
生成测试报告 unittest,pytest
把框架放在jenkins,实现开发提交代码,就自动运行自动化框架,把测试报告发出来
搭建框架容易,难点在编程基础

完整优化代码

2.1)base_page.py

#基类,封装的公共方法都在这里class BasePage:def __init__(self,driver):self.driver= driver#元素定位def locator(self,loc):return self.driver.find_element(*loc)#输入# self.driver.find_element_by_id('').sendkey('')def input_(self,loc,txt):self.locator(loc).send_keys(txt)# 点击def click(self,loc):self.locator(loc).click()

2.2)common_fun.py

import logging
from selenium.common.exceptions import NoSuchElementException
import logging
from selenium.webdriver.common.by import By
from config.desired_caps import appium_desiredfrom config.base_page import BasePage
class Common(BasePage):cancel = (By.ID,'android:id/button2')skip=(By.ID,'com.tal.kaoyan:id/tv_skip')def check_cancel(self):logging.info("=============开始检查取消按钮==============")try:cancel=self.driver.find_element(*self.cancel)except NoSuchElementException:logging.info("取消按钮没有找到")else:logging.info("点击取消")cancel.click()def check_skip(self):logging.info("=========开始检查跳过按钮============")try:skip = self.driver.find_element(*self.skip)except NoSuchElementException:logging.info("跳过按钮没有找到")else:logging.info("点击跳过")skip.click()#1、获取整个屏幕的大小sizedef size(self):# a=driver.get_window_size()['width']x=self.driver.get_window_size()['width']y=self.driver.get_window_size()['height']return  x,y#向左划,宽1000 高1000# driver.swipe(900,800,500,800,2000)def swipeLeft(self,t,n):lsize=self.driver.size()#900x1=lsize[0]*0.9y1=lsize[1]*0.5x2=lsize[0]*0.1for i in range(n):self.driver.swipe(x1,y1,x2,y1,t)

2.3)cs_caps.yaml

platformName: Android
platformVersion: 7.1.2
deviceName: 127.0.0.1:62001
appPackage: com.tal.kaoyan
appActivity: com.tal.kaoyan.ui.activity.SplashActivity
noRest: False
ip: 127.0.0.1
port: 4723

2.4)desired_caps.py

import yaml
from appium import webdriver
from config.testLog import test_log
log=test_log()
# 要yaml文件的数据  找到yanl文件,可读
def appium_desired():stream = open('../config/cs_caps.yaml', 'r')# 数据加载出来data = yaml.load(stream, Loader=yaml.FullLoader)# 字典是什么 元组是什么info = {}info['platformName'] = data['platformName']info['platformVersion'] = data['platformVersion']info['deviceName'] = data['deviceName']info['appPackage'] = data['appPackage']info['appActivity'] = data['appActivity']info['noRest'] = data['noRest']# info['ip']=data['ip']# info['port']=data['port']# driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', info)log.info('开始跑')driver = webdriver.Remote('http://' + str(data['ip']) + ':' + str(data['port']) + '/wd/hub', info)return driver
if __name__ == '__main__':appium_desired()

2.5)login_page.py

from selenium.webdriver.common.by import By
from config.common_fun import Commonlog=test_log()
class LoginPage(Common):user=(By.ID, 'com.tal.kaoyan:id/login_email_edittext')pwd=(By.ID, 'com.tal.kaoyan:id/login_password_edittext')button = (By.ID, 'com.tal.kaoyan:id/login_login_btn')def login(self, username,password):#点击取消self.check_cancel()#点击跳过self.check_skip()#输入用户名,输入密码,点击登录log.info('请输入用户名%s'%username)self.input_(self,user,username)log.info('请输入密码%s' % password)self.input_(self, pwd, password)self.click(self.button)#要测试各种情况,测正常的情况,异常的情况,先进性unittest永历官吏框架
#结合ddt,想要把测试数据放在Yaml中,放在代码
if __name__ == '__main__':driver = appium_desired()lp=LoginPage(driver)lp.login('qwerty2664','qwerty123')

2.6)testLog.py

#日志
import logging
def test_kog():logger=logging.getLogger()logger.setLevel(logging.INFO)if not logger.handlers:#输出到控制台sh=logging.StreamHandler()logger.addHandler(sh)#设置格式fomartor=logging.Formatter(fmt='%(asctime)s%(filename)s%(levelname)s%()')sh.setFormatter(fomartor)#输出到文本fh =logging.FileHandler('../logs/runlog.log',encoding='utf-8')logger.addHandler(fh)fh.setFormatter(fomartor)return logger

四、总结

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。

 


文章转载自:

http://9Cxx7T4R.hpkr.cn
http://O0uPV7VX.hpkr.cn
http://rgnAn1tQ.hpkr.cn
http://xj6mIJcC.hpkr.cn
http://CystugsW.hpkr.cn
http://kPaCfRei.hpkr.cn
http://w7xMWbvR.hpkr.cn
http://C0jRPmdu.hpkr.cn
http://vOHCsKjJ.hpkr.cn
http://iJLO8baK.hpkr.cn
http://R53Ab9b1.hpkr.cn
http://1LlCTDkU.hpkr.cn
http://Eyo07SDi.hpkr.cn
http://EZVkBBDN.hpkr.cn
http://D5Bm2Ifj.hpkr.cn
http://Nml2Bx0D.hpkr.cn
http://tCerSGD5.hpkr.cn
http://1tRzJr2Q.hpkr.cn
http://5WQDi9LG.hpkr.cn
http://UMgVQSxC.hpkr.cn
http://S2DUvCu2.hpkr.cn
http://mJHakITm.hpkr.cn
http://WL7cyB6R.hpkr.cn
http://TZrFe2MJ.hpkr.cn
http://TTGgqcYk.hpkr.cn
http://3WA7Jwcd.hpkr.cn
http://IHvtNx01.hpkr.cn
http://0gowahhg.hpkr.cn
http://r5xMd1BG.hpkr.cn
http://7lhtuWlk.hpkr.cn
http://www.cdong.cn/news/234/

相关文章:

  • 织梦cms仿网站教程发外链平台
  • 石家庄网站建设王道下拉棒网站cname解析
  • 网站备案用的幕布可以淘宝做吗手机禁止网站跳转页面
  • 南昌餐厅网站建设中国建筑公司排名前20
  • 做网站模板出售类网站怎么样产品系统设计案例
  • 怎么申请网站域名赚钱外贸公司经营范围
  • 如何做网站卖产品抖音短视频制作教程
  • 免费帮忙做网站wordpress段首空格
  • 建购物的网站需要多少钱网页设计制作与代码整体素材
  • 做动画相册在哪个网站好网页设计跟网站建设
  • 网站建设汕头团风网站建设
  • 个人备案号 可以做游戏网站吗营销型网站建设供货商
  • 烟台网站建设ytwzjsdjango做企业级网站
  • 在网上做黑彩网站会怎样php商城网站开发实例视频
  • 做网站的公司推荐上海网站建设 找思创网络
  • 昆明企业网站开发seo云优化软件
  • dede网站名称不能中文电商设计师岗位职责
  • 网站制作免费软件wordpress新浪图床
  • 国内建网站流程学院网站建设工作总结
  • 网站设为主页功能怎么做家装建材公司网站建设
  • 网站怎么做百度排名百度推广开户免费
  • 企业为何选择网站推广外包?世界500强企业查询
  • 做外贸网站哪里好全国十大猎头公司
  • 怎么做教育类型的网站生产管理
  • 展示营销类网站设计公司logo免费设计生成器
  • 为什么我的电脑打开了第一个网站打开第二个网站就网络出问题了?怎样建设自己网站
  • 找个网站电子邮箱注册
  • 个人营销型网站建公司网站的公司
  • 广州网站建设建设网站中英文转换js
  • 8080端口wordpressseo新手快速入门