Selenium使用及原理

Stella981
• 阅读 565

1、Selenium介绍

Selenium是一个Web测试工具,通过直接控制浏览器来实现Web测试,与真实用户操作完全一致。Selenium目前支持IE、Firefox、Chrome、Safari、Opera等浏览器,Selenium支持主流的操作系统平台-Windows、Linux、Mac等,Selenium支持Java、Ruby、Python、Perl、PHP、C#等编程语言进行制定测试。 Selenium IDE还可以录制用户的基本操作,用于方便生产测试案例,可以在随后的测试过程中回放。

2、基于Python的简单使用

下面是一个简单的例子,用于打开百度并进行搜索

from selenium import Webdriver
from selenium.webdriver.common.keys import Keys

#启动web driver server,打开IE浏览器
ie = Webdriver.Ie()
#打开百度首页
ie.get('http://www.baidu.com')
#获取搜索输入框
kw = ie.get_element_by_id('kw')
#在输入框输入selenium,并回车
kw.send_keys('selenium'+Keys.RETURN)
#ie.close()

3、远程调用浏览器

selenium实际上是由服务端和客户端两部分组成的,服务端必须与被调用浏览器在同一主机,服务端通过webdriver控制浏览器的行为,客户端可以与服务端位于不同主机,只要网络能够访问到即可。客户端通过http协议(restful)与服务端通信,将控制命令发送给服务端。 正因为客户端通过http协议与服务端交互,所以客户端可以使用任意支持tcp/ip的编程语言实现。

from selenium.webdriver.remote.webdriver import Webdriver as RemoteWebDriver
from selenium.webdriver.common.keys import Keys

#启动web driver server,打开IE浏览器
browser = RemoteWebdriver('http://remoteHost:remotePort')
#打开百度首页
browser .get('http://www.baidu.com')
#获取搜索输入框
kw = browser .get_element_by_id('kw')
#在输入框输入selenium,并回车
kw.send_keys('selenium'+Keys.RETURN)
#browser.close()
点赞
收藏
评论区
推荐文章
blmius blmius
2年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
Stella981 Stella981
2年前
Selenium+Python对开源中国官网进行模拟登录
1.摘要:Selenium是一个开源的和便携式的自动化软件测试工具,用于测试Web应用程序有能力在不同的浏览器和操作系统运行。Selenium不是一个单一的工具,而是一套工具,帮助测试者更有效地基于Web的应用程序的自动化。我们这里用到的python:python3.6操作系统:archlinux
Stella981 Stella981
2年前
Python+Selenium自动化篇
本篇文字主要学习selenium定位页面元素的集中方法,以百度首页为例子。0.元素定位方法主要有:id定位:find\_element\_by\_id('')name定位:find\_element\_by\_name('')class定位:find\_element\_by\_class\_name(''
Easter79 Easter79
2年前
TestNG+Selenium
是一个开源自动化测试框架。其实类似于JUnit这种单元测试框架,但进行了一些功能扩展属于selenium?还是说TestNG是一个测试框架,它用到了selenium的web自动化测试的功能,比如使用浏览器对应的driver去进行操作,不一定要由RobotFramework触发参考TestNG环境设置(
Stella981 Stella981
2年前
Selenium基础教程(三)自动化插件Katalon
Katalon-一款好用的selenium自动化测试插件Selenium框架是目前使用较广泛的开源自动化框架,一款好的、基于界面的录制工具对于初学者来说可以快速入门;对于老手来说可以提高开发自动化脚本的效率。我们知道SeleniumIDE是一款使用较多的脚本录制工具,且只支持Firefox老版
Stella981 Stella981
2年前
Selenium Grid使用
什么是SeleniumGridSeleniumGrid是Selenium套件的一部分,它专门用于并行运行多个测试用例在不同的浏览器、操作系统和机器上。SeleniumGrid有两个版本——老版本Grid1和新版本Grid2。我们只对新版本做介绍,因为Selenium团队已经逐渐遗弃老版本了。Seleniu
铁笛仙 铁笛仙
1年前
Selenium中控制Chorme浏览器会闪退
selenium控制浏览器会闪退,有可能是webdriver控制器的版本太低,和主机上的Chrome版本号不兼容了。
Python进阶者 Python进阶者
3个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这
乐和 乐和
3星期前
Selenium3+Pytest+Allure落地Python Web自动化测试
Selenium3PytestAllure落地PythonWeb自动化测试download》chaoxingit.com/3299/Selenium3PytestAllure落地PythonWeb自动化测试精品Selenium、Pytest和All