python+selenium⾃动化测试框架实例_Python+Selenium,分
分钟搭。。。
在程序员的世界中,⼀切重复性的⼯作,都应该通过程序⾃动执⾏。 「⾃动化测试」就是⼀个最好的例⼦。
lenovo进入bios快捷键随着互联⽹应⽤开发周期越来越短,迭代速度越来越快,只会点点点,不懂开发的⼿⼯测试,已经⽆法满⾜如今的业务要求,只能被企业逐步裁员淘汰。 「⾃动化测试和持续测试」就成为了业界主流。
如果在招聘⽹站搜索「测试⼯程师」的职位,95% 的招聘都会有「掌握⾃动化测试以及 Python」的相关要求。可以说, python ⾃动化已经不是加分项了,⽽成了⾯试成功的必备技能。
所以,如果你正准备⼊⾏或者转岗做测试⼯程师的⼯作,Python ⾃动化测试将是必学技能之⼀。
Python + Selenium
说到⾃动化测试,就不得不提⼤名⿍⿍的 Selenium。Selenium 是如今最常⽤的⾃动化测试⼯具之⼀,⽀持快速开发⾃动化测试框架,且⽀持在多种浏览器上执⾏测试。
Selenium学习难度⼩,开发周期短。对测试⼈员来说,如果你编程经验不⾜, python + Selenium是个很好的选择。语法简约,清晰,可以显著减少后期维护难度和⼯作压⼒。
今天,我们就介绍⼀下如何⽤ Selenium 快速开始 Web 测试⼯作!
(以下内容出⾃实验楼课程——「Python ⾃动化测试实战」,欢迎⼤家来实验楼边敲代码边练习!)
课程地址:
Selenium 基础知识
本节课程介绍 Selenium 的功能作⽤及安装、环境配置,并介绍 Selenium 常⽤的语法。
知识点Selenium 介绍
安装 Selenium
安装 geckodriver 浏览器驱动
Selenium 的元素定位
点击元素
清空⽂本输⼊框、向⽂本输⼊框输⼊⽂本
获取元素属性
下拉页⾯
页⾯弹窗的定位以及弹窗⽂本的获取
窗⼝跳转
step什么意思iframe 定位
安装需要的库:
sudo pip3 install --upgrade pip
sudo pip3 install selenium
实验环境Firefox 浏览器
python 3.5
geckodriver 0.22.0
selenium 3
实验步骤
Selenium 在进⾏回归测试的时候会被经常⽤到,接下来我们就学习 Selenium 的知识。当我们进⼊selenium 官⽹时可以看到,⽹站的title 上写的是 Selenium - Web Browser Automation ,翻译过来就是⽹站浏览器⾃动化。也就是说我们把平时在⽹页上做的功能测试⽤Selenium 代码实现,这样在回归测试的时候就可以达到省时省⼒的⽬的。Selenium 在⼯作中的应⽤常见于功能基本稳定、没有频繁⼤变动的⽹页。所以我们⼀般是在业务功能上线以后,为确保页⾯稳定,⽤ Selenium 实现⾃动化回归测试,结合 git、Jenkins ⼀起,每当有新功能上线时都会执⾏写好的 Selenium 代码以验证新上线的业务对原有页⾯功能没有造成影响。如有报错,则发送相应的通知,这样就可以确保对线上功能出现的未预期 bug 进⾏及时的修复。
安装 Selenium
在 xfce 中输⼊ sudo pip3 install selenium 安装最新版本的 Selenium。
浏览器、geckodriver
既然名为⽹页浏览器⾃动化⾃然要安装浏览器,⼀般来说, Chrome 、 Firefox 等浏览器都可以,这⾥我们使⽤当前系统⾃带的 Firefox 作为实验浏览器。现在我们需要下载对应的浏览器驱动 geckodriver ,在 xfce 中输⼊以下命令:
下载成功后继续输⼊:
$ tar zxvf geckodriver-v0.22.
$ sudo mv geckodriver /usr/local/bin
以上操作为:将⽂件解压,并移动⾄ /usr/local/bin ⽂件夹中。
将⽬录切换⾄桌⾯:
$ cd /home/shiyanlou/Desktop
下⾯我们来验证是否正常安装,在终端使⽤命令 vim demo.py 创建⽂件并写⼊代码:
#! /usr/bin/python3
from selenium import webdriver
driver = webdriver.Firefox()
<("www.shiyanlou")
输⼊ python3 demo.py 如果浏览器打开并进⼊实验楼⽹站,则环境配置就成功了。
浏览器操作
python基础知识测试在终端使⽤命令 vim demo2.py 创建⽂件并写⼊代码:
#! /usr/bin/python3
from selenium import webdriver
from time import sleep
driver = webdriver.Firefox()
# 浏览器进⼊百度⽹站
<("www.baidu")
# 设置浏览器宽800,⾼400
51单片机实时时钟程序driver.set_window_size(800, 400)
# 等待3秒
sleep(3)
# 刷新页⾯
# 等待3秒
sleep(3)
交通灯控制系统plc编程# 最⼤化窗⼝
w3school与菜鸟教程的关系driver.maximize_window()
# 退出浏览器
driver.quit()
- name: check file
script: |
#!/bin/bash
ls /home/shiyanlou/Desktop/demo2.py
error:
还没有在 /home/shiyanlou/Desktop ⽬录下新建 demo2.py ⽂件
以上代码会在浏览器中执⾏:打开浏览器
进⼊百度⽹站
设置窗⼝⼤⼩为宽 800,⾼ 400
等待 3 秒
刷新页⾯
最⼤化窗⼝
退出浏览器
演⽰
这⾥我们使⽤51Testing 软件测试论坛作为演⽰⽹站,如果⼤家没有账号需要先去注册⼀个,下⾯的代码将会使⽤到账号信息,在终端使⽤命令 vim demo3.py 创建⽂件并写⼊代码:
#! /usr/bin/python3
from selenium import webdriver
from time import sleep
driver = webdriver.Firefox()
# 进⼊51testing⽹站("bbs.51testing/forum.php")
sleep(3)
# ⽤id定位账号输⼊框并输⼊账号
driver.find_element_by_id("ls_username").send_keys("您的⽤户名")
# ⽤id定位密码输⼊框并输⼊密码
driver.find_element_by_id("ls_password").send_keys("密码")
# 定位“登录”按钮并获取登录按钮的⽂本
txt = driver.find_element_by_xpath('//*[@id="lsform"]/div/div[1]/table/tbody/tr[2]/td[3]/button').text
# 打印获取的⽂本
print(txt)
# 定位“登录”按钮并获取登录按钮的type属性值
type = driver.find_element_by_xpath('//*[@id="lsform"]/div/div[1]/table/tbody/tr[2]/td[3]/button').get_attribute("type") # 打印type属性值
print(type)
# 定位“登录”按钮并进⾏点击操作
driver.find_element_by_xpath('//*[@id="lsform"]/div/div[1]/table/tbody/tr[2]/td[3]/button').click()
在终端执⾏ python3 demo3.py 运⾏,结果显⽰如下:页⾯显⽰:
执⾏以上代码后会在 xfce 中输出如下信息:
源码获取私信⼩编01
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论