selenium+python+unittest实现自动化测试(入门篇)

selenium+python+unittest实现⾃动化测试(⼊门篇)
本⽂主要讲解关于selenium⾃动化测试框架的⼊门知识点,教⼤家如何搭建selenium⾃动化测试环境,如何⽤
selenium+python+unittest实现web页⾯的⾃动化测试,先来看看selenium、unittest是什么。
⼀、selenium、unittest概念
Selenium 是⽤于测试 Web 应⽤程序⽤户界⾯ (UI) 的常⽤框架。它是⼀款⽤于运⾏端到端功能测试的超强⼯具。您可以使⽤多个编程语⾔编写测试,并且 Selenium 能够在⼀个或多个浏览器中执⾏这些测试,同时⽀持所有基于web 的管理任务⾃动化。
unittest是单元测试框架,不仅适⽤于单元测试,还可以适⽤WEB⾃动化测试⽤例的开发与执⾏,该测试框架可组织执⾏测试⽤例,并且提供了丰富的断⾔⽅法,断⾔,其实就是对测试结果进⾏校验,每⼀个测试⽤例都有⼀个期望结果,实际结果跟期望结果不⼀致,说明执⾏测试⽤例不通过,⾃动化测试也⼀样,需要对测试结果进⾏校验,校验成功,说明⽤例已经通过,最终⽣成测试结果。
⼆、环境搭建:
安装python:
安装python编译器pycharm
安装selenium模块:
win+r 输⼊cmd
python -m pip install selenium
假如⽤的是Chrome浏览器,还需要下载,chromedriver版本与⽀持的Chrome浏览器版本对应如下:
金属波纹膨胀节
下载完成后,拷贝到Chrome浏览器安装⽬录下:
随后配置环境变量:
三、编写⼀个简单的⾃动化测试脚本
好了,环境已经搭建好了,我们开始写测试⽤例,来看⼀下对百度页⾯写⼀个简单的⾃动化测试脚本
#coding=utf-8
#百度demo
from selenium import webdriver
import time
#单元测试框架,使⽤该模块,我们可以对⽤例进⾏组织和运⾏,例如如下的BaiduTestCase类继承unittest.TestCase,该类执⾏会把test开头的⽅法当成⼀个测试⽤例去执⾏
import unittest
class BaiduTestCase(unittest.TestCase):
def setUp(self):
print('开始执⾏测试⽤例:')
url ='www.baidu'
智能营销客户管理系统
www.wifiok.infoself.driver = webdriver.Chrome()#选择⾕歌浏览器龙芯3b
(url)#打开百度页⾯
def test_bubutton(self):
self.driver.find_element_by_id('kw').clear()
self.driver.find_element_by_id('kw').send_keys('软件测试')#搜索框输⼊内容
self.driver.find_element_by_id('su').click()#点击百度按钮
time.sleep(2)
雨水利用系统self.driver.save_screenshot('D:/baidu.png')#截图
def tearDown(self):
print('⼀条⽤例执⾏完成。')
self.driver.quit()#退出浏览器
if __name__=='__main__':
unittest.main()
通过上⾯的⼀段代码我们就可以实现跳转到百度页⾯,输⼊‘软件测试’,点击百度按钮并且搜索,设置停留在搜索结果页⾯2秒钟,随后截图放到设置的路径,是不是觉得挺简单的呢,但是想要学习更多的⾃动化测试知识,还是需要更多地熟悉selenium、unittest的api。
三、熟悉⼀些常⽤的元素定位⽅法、操作⽅法
常⽤元素定位⽅法:
钢钙板
1、id定位: find_element_by_id()
举例:进⼊浏览器,按f12,定位元素id如下如步骤:
2、name定位: find_element_by_name()
3、class定位:find_element_by_class_name()
4、link定位:find_element_by_link_text()
4、link定位:find_element_by_link_text()
5、partial_link定位:find_element_by_partial_link_text()
6、xpath定位:find_element_by_xpath()
7、CSS定位:find_element_by_css_selector()
操作⽅法:
clear 清除元素的内容
send_keys 模拟按键输⼊
click 点击元素
submit 提交表单
size 获取元素的尺⼨
text 获取元素的⽂本
get_attribute(name) 获取属性值
location 获取元素坐标,先到要获取的元素,再调⽤该⽅法
page_source 返回页⾯源码
driver.title 返回页⾯标题
current_url 获取当前页⾯的URL
is_displayed() 设置该元素是否可见
is_enabled() 判断元素是否被使⽤
is_selected() 判断元素是否被选中
tag_name 返回元素的tagName
context_click(elem) 右击⿏标点击元素elem,另存为等⾏为
double_click(elem) 双击⿏标点击元素elem,地图web可实现放⼤功能
drag_and_drop(source,target) 拖动⿏标,源元素按下左键移动⾄⽬标元素释放move_to_element(elem) ⿏标移动到⼀个元素上
click_and_hold(elem) 按下⿏标左键在⼀个元素上
perform() 在通过调⽤该函数执⾏ActionChains中存储⾏为
send_keys(Keys.ENTER) 按下回车键
send_keys(Keys.TAB) 按下Tab制表键
send_keys(Keys.SPACE) 按下空格键space
send_keys(Kyes.ESCAPE) 按下回退键Esc
send_keys(Keys.BACK_SPACE) 按下删除键BackSpace
send_keys(Keys.SHIFT) 按下shift键
send_keys(Keys.CONTROL) 按下Ctrl键
send_keys(Keys.ARROW_DOWN) 按下⿏标光标向下按键
send_keys(Keys.CONTROL,‘a’) 组合键全选Ctrl+A
send_keys(Keys.CONTROL,‘c’) 组合键复制Ctrl+C
send_keys(Keys.CONTROL,‘x’) 组合键剪切Ctrl+X
send_keys(Keys.CONTROL,‘v’) 组合键粘贴Ctrl+V
unittest常⽤断⾔⽅法:

本文发布于:2024-09-23 19:15:00,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/3/276913.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:测试   元素   动化   结果   浏览器   组合键   设置   获取
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议