Python测试开源工具splinter安装与使用教程
作者:cuntou0906 发布时间:2022-07-22 01:56:36
splinter介绍
Splinter是一个使用Python测试Web应用程序的开源工具,可以自动化浏览器操作,例如访问URL和与它们的项进行交互。例如,我们使用百度引擎搜索内容,需要再搜索框内输入关键字,再按百度一下
即可以搜索想要的内容,使用Splinter可以使用pyhton脚本来实现上述过程。
Splinter安装
Splinter的使用需要依赖python环境,因此首先需要装python(python安装可以直接安装anaconda
集成环境,网上一搜教程很多~),并且python版本需要是2.7+;以下是Splinter的官网说明:
In order to install Splinter, make sure Python is installed. Note: only Python 2.7+ is supported.
Splinter安装
Splinter安装,官网提供了两种版本安装,一般使用稳定版本即可:
pip install splinter # pip工具首先得安装,如果安装anaconda则会自动安装pip
驱动安装
要使用splinter访问浏览器,还需要安装对应的浏览器驱动,这里以chrome为例,由于chrome WebDriver
依赖于Selenium2
,最终需要安装两个:即Selenium2
和chromedriver
。
1. Selenium2直接通过pip安装:
pip install selenium
2. 对于chromedriver,首先查看浏览器版本,在chrome浏览器访问:chrome://version/
。
然后访问http://chromedriver.storage.googleapis.com/index.html
,找到对应的版本下载即可。
下载解压后,会得到一个chromedriver.exe
文件,按照官网的说法,需要将其配置环境变量。简单的做法,直接将chromedriver.exe
文件放在python安装的根目录(即和python.exe
放在同一个目录===这是因为python.exe
所在的目录肯定配置了环境变量)。到这里,环境配置已经OK了,接着就是写python脚本测试了~
python脚本测试Splinter
from splinter import Browser
from time import sleep
browser = Browser('chrome') # 创建浏览器实例
browser.visit('https://www.baidu.com') # 访问baidu
# 将关键词填入搜索框 通过wd这个名字找到对应的Elements
browser.fill('wd', 'splinter - python acceptance testing for web applications')
browser.find_by_id('su').click() # 通过id找到点击按钮,并点击
if browser.is_text_present('splinter.readthedocs.io'): # 对响应结果进行处理
print("Yes, the official website was found!")
else:
print("No, it wasn't found... We need to improve our SEO techniques")
sleep(10)
browser.quit() # 关闭浏览器
其中,browser = Browser('chrome')
的'chrome'
参数是必须的,如果不指定的话,默认选用火狐浏览器,详见官网说明。
结果:
来源:https://blog.csdn.net/weixin_44231148/article/details/118658442
猜你喜欢
- 阅读上一章:Chapter 4 引用互动性一直是互联网的重点,让使用者与网站能够交换信息,彼此沟通.表单使我们能够有组织的,使用同一方式的从
- 1.MySQL中并发和隔离控制机制Meta-data元数据锁:在table cache缓存里实现的,为DDL(Data Definition
- 用Flask处理图片非常容易,这一篇学习一下图片的上传、下载及展示。还是以实例代码演示为主。首先,实现一个简单的上传(过程中未做任何处理,只
- 本文介绍了6个asp常用的判断函数的语法和使用方法,有IsArray 函数,IsDate 函数 ,IsEmpty 函数,IsNull 函数,
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN&
- 本文实例讲述了Python模块的定义,模块的导入,__name__用法。分享给大家供大家参考,具体如下:相关内容:什么是模块模块的导入同级目
- 淘宝的投诉类型里有这么一条“收款不发货”。帮助中心里是这么解释的:买、卖双方在淘宝上成交后,当卖家在收到买家汇款后没有按时履行发货义务,或买
- 1. 安装 Sublime Text 3虽然现在的 Sublime 3 还处于 beta 阶段, 但已经非常稳定了, 而且速度比 Subli
- ubuntu 系统自带的 python 有多个版本,使用时难免会遇到环境变量出错,特别是当自动化运行脚本的时候。特别是近一个月来,实验室的小
- <% Function ReplaceUrl2(HTMLstr) Dim n,st
- Macromedia官方将在其他软件中内建Fireworks技术称为Fireworks技术,网上也称之为内建图片编辑器。Dreamweave
- 序言:php错误就是会使脚本运行不正常的情况。php的错误有很多种,包括warning、notice、deprecated、fetal er
- 我写过一个外部模块扩展,现在开始看PHP源码中的mysql扩展,它是可以被集成到PHP内部的,所以应该算是内置的扩展了。 该扩展需要用到my
- 一、准备工作:1.建立一个 WINDOWS 用户,设置为管理员权限,并设置密码,作为发布快照文件的有效访问用户。2.在SQL SERVER下
- 尽管甲骨文收购Sun交易尚在等待最终结果,业界对开源数据库MySQL的未来命运也十分担忧,但Sun的开发者依然在继续努力研发该开源数据库。他
- 神经网络框架使用方法及设计思想在框自己手写架上基本模仿pytorch,用以学习神经网络的基本算法,如前向传播、反向传播、各种层、各种激活函数
- 实现原理:将用户信息保存在数据库中,若能在数据库中检索到用户输入的姓名和口令,就允许访问该一页面。代码如下:protect.asp<h
- 将来电脑的大显示屏会越来越普及,并且从现在web设计作品中能观察到两点趋势:页面布局普遍更宽;页面内容文字普遍更大。使用1280×800和1
- PHP SESSION 的存储Session会话存储方式PHP将session以文件的形式存储服务器的文件中,session.save_pa
- Sjoerd Visscher 发现了一个简洁的 方法 让样式在 IE 中作用到未知的元素上——仅需 JS 创建此未知元素即可:docume