当前位置:   article > 正文

学习笔记之软件测试4:CSDN账号密码登陆自动化测试实现(Selenium+Unitest)_自动登陆怎么测试密码

自动登陆怎么测试密码

前言

认识自动化Web测试

为什么要进行 自动化 测试
  1. 很多场景 在项目未上线之前 或者 上线之后 是单独手动测试无法实现的场景(由于各种原因)比如:
    • 回归测试
    • 压力测试
    • 兼容性测试
  2. 自动化测试开始的阶段:手动测试结束之后,因为手动测试更容易以普通用户的角度来进行测试,而且手动测试比自动化测试肯能发现的缺陷更多。
主流测试工具介绍
  1. QTP(收费)—>http://www.tutorialspoint.com/qtp/qtp_overview.htm
    QTP是商业的功能测试工具,收费,支持web,桌面自动化测试。

  2. Selenium(开源)—>https://www.selenium.dev/
    Selenium是开源的web自动测试工具,免费,主要做功能测试。

  3. Jmeter(开源、Web、接口、性能, 接口测试使用)—>https://jmeter.apache.org/
    Jmeter是由Apache公司使用Java平台开发的一款测试工具 !!!Web测试在通信层(无UI界面)!!!

  4. Loadrunner(收费、Web、性能)—>http://learnloadrunner.com/
    Loadrunner是商业性能测试工具,收费,功能强大,适合做复杂场景的性能测试

  5. Robot framework —>https://robotframework.org/
    Robot Framework是一个基于Python可扩展地(关键字驱动)的测试自动化框架

  6. 按照适用平台划分

    Web自动化测试:selenium、robot framework
    App端自动化测试:Appium、Monkeyrunner、UIautomation
    PC客户端(win32)自动化测试:QTP
    接口自动化测试:Jmeter、Postman、httpUnit、RESTClient
    云测平台:Testin Testbird
    性能测试:Jmeter、LoadRunner
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

Selenium

认识selenium

一、介绍

​ selenium:硒 一个主要做功能测试的web应用程序的测试工具

二、特点

  • 开源
  • 跨平台:linux、windows、mac
  • 多语种支持、多浏览器支持
环境准备

selenium 需要搭配搭配 webdriver库使用

一、认识WebDriver

  • Webdriver (Selenium)是一种用于Web应用程序的自动测试工具
  • Webdriver完全就是一套类库,不依赖于任何测试框架,除了必要的浏览器驱动

二、WebDriver支持的浏览器

Chrom、IE、Opera、Firefox、Safari、HtmlUnit

注意:

  • Firefox、Chrome:对元素定位和操作有良好的支持,同时对JavaScript支持也非常好。
  • IE:只能在windows平台运行,所有浏览器中运行速度最慢
  • HtmlUnit:无GUI(界面)运行,运行速度最快;

支持的开发语言:Java、Python、PHP、JavaScript、Perl、Ruby、C#

三、安装

安装selenium时,前提是Python3.5以上版本安装完毕且能正常运行

selenium:pip install selenium

WebDriver:下载地址http://www.seleniumhq.org/download/

  • 下载后首先解压
    • Linux:unzip
    • windows:右击解压
    • 解压后的可执行文件 放到固定文件夹 使用的时候指定webdriver的绝对路径即可
    • 或者将可执行文件添加到环境变量中也可以

四、使用基本流程

# 模拟打开某个网页的 点击按钮操作

# 1.导包
from selenium import webdriver
# 2.实例化driver --浏览器不同driver也不同  这里使用的是Chrome
driver = webdriver.Chrome('./chromedriver')
# 3.发请求  GET或者POST等其他请求
driver.get(url)
# 4.获取摸个定位标签  
regiter_btn =driver.find_element_by_class_name('')
# 5.点击按钮 click()方法
regiter_btn.click()
# 6.关闭浏览器 quit()方法
driver.quit()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
定位方式
0、为什么要定位元素

对HTML中的元素定位,目的是为了作为一个锚点,快速定位要进行操作的具体的要操作的网页元素,只有定位之后才能进行其他操作(点击、输入等)

一、HTML元素定位

driver.find_element_by_xxx() driver.find_element(by=By.定位元素,value=‘定位元素值’) 两种查询定位的方式返回的都是 WebElement对象 可以实现二次查找 返回 list[]

  1. 元素属性定位:id、name、class_name:
  2. 元素标签名称定位:tag_name
  3. 超链接定位(a标签):link_text、partial_link_text
"""
    6种定位方式
    id, name, class_name, tag_name, link_text, partial_link_text
"""
# 1.导包
from selenium import webdriver

# 2.实例化
driver = webdriver.Chrome('./chromedriver.exe')

# 3.发请求
driver.get('http://www.baidu.com')

# 4.查找元素 elenium.webdriver.remote.webelement.WebElement
element = driver.find_element_by_id('s_menu_mine')
# element = driver.find_element_by_name('tj_settingicon')
# element = driver.find_element_by_class_name('s-top-right-text c-font-normal c-color-t')
# element = driver.find_element_by_tag_name('input')  # 标签名
# element = driver.find_element_by_link_text('登录')  # 就是标签中直接写的汉字
# element = driver.find_element_by_partial_link_text('新闻')
# link_text 是超链接载体的精确匹配,而partial_link_text是对超链接载体的模糊匹配

# 获取标签的属性
# print(element.get_attribute(''))
print(elements)  # WebElement对象
# 5.关闭浏览器
driver.quit()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
二、xpath定位
  1. xpath怎么定位的?:主要为元素在XML/HTML中的相对(绝对)路径定位

  2. xpath的几种定位策略:

    1. 路径-定位  绝对路径/相对路径 
    2. 利用元素属性-定位
    3. 层级与属性结合-定位
    4. 属性与逻辑结合-定位
    
    • 1
    • 2
    • 3
    • 4
  3. 语法格式
    在这里插入图片描述

  4. demo演示

    from selenium import webdriver
    # 1.初始化driver
    driver =webdriver.Chrome('./chromedriver')
    # 2.向百度发送请求
    driver.get('http://www.baidu.com')
    
    # 3.定位
    # 3.1定位地图标签
    elment1 = 
    driver.find_element_by_xpath('/html/body/div[1]/div[2]/div[2]/a[3]')
    # 3.2定位新闻标签
    elment2 = driver.find_element_by_xpath('//*[@id="s-top-left"]/a[1]')
    # 3.3定位输入框
    elment3 = driver.find_element_by_xpath('//input[@name="wd"]')
    # 3.4定位输入框
    elment4 = driver.find_element_by_xpath('//input[@name="wd" and @id="kw"]')
    # 3.5定位设为首页标签
    elment5 = driver.find_element_by_xpath('//a[@link_text="设为首页"] | //a[@class="c-color-gray2"]')
    # 3.6定位设为首页标签
    elment6 = driver.find_element_by_xpath('//*[text()="设为首页"]')
    
    # 4.获取定位元素的属性
    print(elment6.get_attribute('href'))
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/不正经/article/detail/586163
推荐阅读
相关标签
  

闽ICP备14008679号