Selenium使用及原理

Stella981
• 阅读 753

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
3年前
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
待兔 待兔
4个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Stella981 Stella981
3年前
Selenium+Python对开源中国官网进行模拟登录
1.摘要:Selenium是一个开源的和便携式的自动化软件测试工具,用于测试Web应用程序有能力在不同的浏览器和操作系统运行。Selenium不是一个单一的工具,而是一套工具,帮助测试者更有效地基于Web的应用程序的自动化。我们这里用到的python:python3.6操作系统:archlinux
Stella981 Stella981
3年前
Python+Selenium自动化篇
本篇文字主要学习selenium定位页面元素的集中方法,以百度首页为例子。0.元素定位方法主要有:id定位:find\_element\_by\_id('')name定位:find\_element\_by\_name('')class定位:find\_element\_by\_class\_name(''
Easter79 Easter79
3年前
TestNG+Selenium
是一个开源自动化测试框架。其实类似于JUnit这种单元测试框架,但进行了一些功能扩展属于selenium?还是说TestNG是一个测试框架,它用到了selenium的web自动化测试的功能,比如使用浏览器对应的driver去进行操作,不一定要由RobotFramework触发参考TestNG环境设置(
Stella981 Stella981
3年前
Selenium基础教程(三)自动化插件Katalon
Katalon-一款好用的selenium自动化测试插件Selenium框架是目前使用较广泛的开源自动化框架,一款好的、基于界面的录制工具对于初学者来说可以快速入门;对于老手来说可以提高开发自动化脚本的效率。我们知道SeleniumIDE是一款使用较多的脚本录制工具,且只支持Firefox老版
Stella981 Stella981
3年前
Selenium Grid使用
什么是SeleniumGridSeleniumGrid是Selenium套件的一部分,它专门用于并行运行多个测试用例在不同的浏览器、操作系统和机器上。SeleniumGrid有两个版本——老版本Grid1和新版本Grid2。我们只对新版本做介绍,因为Selenium团队已经逐渐遗弃老版本了。Seleniu
铁笛仙 铁笛仙
1年前
Selenium中控制Chorme浏览器会闪退
selenium控制浏览器会闪退,有可能是webdriver控制器的版本太低,和主机上的Chrome版本号不兼容了。
崇恩圣帝 崇恩圣帝
6个月前
极验滑动验证码识别系统实现
在网络世界中,极验滑动验证码是常见的人机验证形式之一,通过拖动滑块拼合图像来完成验证。本文将介绍如何使用Python和Selenium库来实现极验滑动验证码的自动识别和验证过程。准备工作在开始之前,请确保已经安装好了Selenium库和Chrome浏览器,