测试随笔


内容一:UI自动化的测试灵魂三问:

   什么是UI自动化测试?

  是人为驱动测试 转换机器自动执行的过程

WebUI自动化 测试 工具  Selenium

手机UI自动化 测试工具 appium

 

测试分类  

       按照软件自动化程度

           手工测试和自动化测试(黑盒自动化)

 

 

   为什么学习UI自动化测试?

需求: 测试被测网站  打开关闭100次+登录多用例  手工测试怀疑人生

解决: 写一个python脚本,控制工具  网站自动执行(自动打开  自动完成业务流程)===》UI自动化(python—》selenium–》浏览器—》网站自动执行)

优点:

1)减少重复工作量+提高测试效率+速度快

2)人力成本+代码重复使用+回归测试

3)针对网站监控   4)测试数据模拟

 

引入UI自动化先决条件

不是万能的(比如安全控件(验证码,在测试环境让开发万用码+Cookie值(保留登录成功状态)))

1遇到大量重复工作量  2需求不变更(稳定) 3项目周期足够长(编写脚本花费时间)

 

缺点:

  1. 成本大(python unittest  selenium 维护成本 )
  2. 项目需求不断变更 不适合自动化

3实际工作中  selenium不可定位元素(验证码 安全控件  非标准html元素)

 

 

 

如何掌握UI自动化测试?

Web自动化工具  selenium   其它(QTP UFT贵)

目标  用selenium 让web网站自动运行  即可

 

经典UI自动化搭配

 

测试脚本 Python+pycharm+selenium+Unittest(python自带测试框架)+驱动(帮助selenium识别浏览器)+浏览器(chrome)+被测的网站

   不关心被测试网站(java  python php 测试对象对我们都是一样的)

内容二:环境:

  建议:放在一套纯净的虚拟机中去

 

全新解压

 

1安装selenium库:(在python上面扩展)

1.1 在线安装(依赖网络+简单)

 

 

1.2 离线安装(pypi网站)

 

 

 

 

 

2安装浏览器和驱动(驱动必须要和浏览器版本进行对应~~)

注意:selenium 能够识别浏览器是有驱动版本选择的

以google chrome(谷歌浏览器)

http://chromedriver.storage.googleapis.com/

 

火狐:根据版本选择驱动

 

https://github.com/mozilla/geckodriver/releases

 

安装浏览器—注意防止浏览器自动更新(浏览器自动更新了 驱动也必须更新)

 

 

浏览器安装结束

 

 

驱动:只要将驱动放在  python安装路径下即可

 

 

 

 

3快速安装被测网站:

(3.1 wamp (自带mysql 确保虚拟机里面没有别的mysql) (windows 服务集成软件类似xampp))(W-windows a-apache  m-mysql  p-php或者jsp)

 

 

 

注意:修改Apache的端口号80  很容易彼得软件占用80==》8081

 

 

搜索 80  =全部改成==》8081

Stop all service ===>start  直到变成绿色  或者黄色即可

 

 

  3.2 将  Discuz网站交给  wamp  网站发布路径即可

 

 

http://localhost:8081/Discuz_X2_SC_UTF8/upload/install/

 

 

 

得出被测网址

http://localhost:8081/Discuz_X2_SC_UTF8/upload/forum.php

 

内容三:  第一个UI自动化例子

例子  使用python控制selenium 工具自动控制chrome/或者Firefox打开 百度

 

安装了 selenium  本质 基于 webdriver对象(有对象调用对象即可)

   对象(媳妇)的名字

  对象的功能(API—方法功能)

API不关心定义  只关心调用

   志玲

  炒菜 做饭

   Webdriver

Chrome()  打开chrome浏览器

Firefox()  打开火狐浏览器

get()  访问网址

maximize_window()

.current_url

title

。。。。很多

 

 

 

学习selenium  过程  就是学习webdriver的API过程

 

目标 拿到selenium这一套API  (工具)测试不同网站即可~~

 

# 一个函数  打开chrome浏览器

 

 

 

 

#  导包  alt和enter

from time import sleep

 

from selenium import webdriver

 

 

def open_chrome():

    # 严格区分大小写

    jwchrome=webdriver.Chrome() # 去找 python安装路径下驱动  调度Chrome浏览器

    # 操作jwchrome相当于操作Chrome浏览器

    jwchrome.get(“http://www.baidu.com”)

    jwchrome.maximize_window() #浏览器最大化

    # 验证:被测网站是否登录成功 打印当前的

    # 当前浏览器地址   current_url

    # 当前浏览器标题  title

    print(“浏览器当前的地址”,jwchrome.current_url)

    print(“浏览器当前的标题”, jwchrome.title)

    #from time import sleep

    sleep(3)

    #等待后退出

    jwchrome.quit()

 

 

def open_Firefox():

    # 严格区分大小写

    jwchrome=webdriver.Firefox() # 去找 python安装路径下驱动  调度Chrome浏览器

    # 操作jwchrome相当于操作Chrome浏览器

    jwchrome.get(“http://www.baidu.com”)

    jwchrome.maximize_window() #浏览器最大化

    # 验证:被测网站是否登录成功 打印当前的

    # 当前浏览器地址   current_url

    # 当前浏览器标题  title

    print(“浏览器当前的地址”,jwchrome.current_url)

    print(“浏览器当前的标题”, jwchrome.title)

    #from time import sleep

    sleep(3)

    #等待后退出

    jwchrome.quit()

 

if __name__ == ‘__main__’:

#调用函数

    #open_chrome()

    open_Firefox()

 

 

小结:

  1. UI自动化优缺点(面试)
  2. Selenium环境搭建以及被测网站搭建
  3. 第一个脚本自动化打开关闭  浏览器

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/tech/python/289259.html

(0)
上一篇 2022年9月13日 21:30
下一篇 2022年9月13日 22:23

相关推荐

发表回复

登录后才能评论