目录

一、Selenium

二、环境部署

三、代码示例

一、Selenium

1.1介绍

Selenium是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。

支持的浏览器包括IE(7, 8, 9, 10, 11),Mozilla Firefox,Safari,Google Chrome,Opera等。

这个工具的主要功能包括:测试与浏览器的兼容性——测试你的应用程序看是否能够很好得工作在不同浏览器和操作系统之上。

测试系统功能——创建回归测试检验软件功能和用户需求。支持自动录制动作和自动生成 .Net、Java、Perl等不同语言的测试脚本

1.2功能

  • 框架底层使用JavaScript模拟真实用户对浏览器进行操作。测试脚本执行时,浏览器自动按照脚本代码做出点击,输入,打开,验证等操作,就像真实用户所做的一样,从终端用户的角度测试应用程序。
  • 使浏览器兼容性测试自动化成为可能,尽管在不同的浏览器上依然有细微的差别。
  • 使用简单,可使用Java,Python等多种语言编写用例脚本。
 

1.3优势

据 Selenium 主页所说,与其他测试工具相比,使用 Selenium 的最大好处是:Selenium 测试直接在浏览器中运行,就像真实用户所做的一样。
Selenium 测试可以在 Windows、Linux 和 Macintosh上的 Internet Explorer、Chrome和 Firefox 中运行。
其他测试工具都不能覆盖如此多的平台。
 

二、环境部署

2.1需求实现

工作需要实现一个网页自动登录的操作,决定使用selenium+python实现

selenium 是一个web的自动化测试工具,主流一般配合java或者python使用,

我这里使用的是python,可支持的浏览器基本包括所有主流浏览器IE、Mozilla Firefox、Google Chrome。

2.2环境配置(python+selenium+webdriver)

2.2.1python安装

直接在官网下载python安装包,

https://www.python.org/ftp/python/3.7.3/python-3.7.3-amd64.exe

安装后查看版本信息

> python
Python 3.6. |Anaconda, Inc.| (default, Jan , ::) [MSC v. bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>

2.2.2  selenium安装

CMD命令行安装模块selenium 即可,命令如下:

pip install selenium
...
> pip show selenium
libpng warning: iCCP: known incorrect sRGB profile
Name: selenium
Version: 3.141.0
Summary: Python bindings for Selenium
Home-page: https://github.com/SeleniumHQ/selenium/
Author: UNKNOWN
Author-email: UNKNOWN
License: Apache 2.0
Location: c:\programdata\miniconda3\lib\site-packages
Requires: urllib3
Required-by:

2.2.3webdriver下载

  • 安装各浏览器版本所对应的驱动,使用方法, 放到脚本执行目录下,或增加环境变量。

IE浏览器的web driveriedriver.exe),可以在下面网址访问:

https://www.microsoft.com/en-us/download/confirmation.aspx?id=44069

chrom浏览器的web driverchromedriver.exe),可以在下面网址访问:
http://npm.taobao.org/mirrors/chromedriver/

firefox(火狐浏览器)的web driver (geckodriver.exe)在这里访问:
https://github.com/mozilla/geckodriver/releases

其他浏览器驱动可以见下面列表:

Edge:https://developer.microsoft.com/en-us/micrsosft-edage/tools/webdriver

Safari:https://webkit.org/blog/6900/webdriver-support-in-safari-10/

三、代码示例


#从selenium里面导入webdriver
import os
import time
from selenium import webdriver


#指定chrom的驱动
#执行到这里的时候Selenium会到指定的路径将chrome driver程序运行起来
driver = webdriver.Chrome()


#driver = webdriver.Firefox()#这里是火狐的浏览器运行方法
#driver = webdriver.Ie() #这里是IE浏览器运行方法
#driver = webdriver.Firefox() #这里是Firefox浏览器运行方法

driver.maximize_window() #最大化浏览器窗口

#get 方法 打开指定网址
driver.get('http://www.baidu.com')


#设置等待时间,避免页面打开找不到元素的情况
time.sleep(3)


#选择网页,元素输入字符
driver.find_element_by_id('kw').send_keys('北京时间')


#点击搜索
driver.find_element_by_id('su').click()


#退出
driver.quit()

IE11,Chrome65,Firefox58 的webdriver驱动下载,调用浏览器打开网址的更多相关文章

  1. IE11,Chrome65.0.3325.146,Firefox58的webdriver驱动下载,并用selenium驱动来实现自动化测试

    各浏览器版本:    python版本: selenium版本: IE11的Webdriver下载: http://dl.pconline.com.cn/download/771640-1.html ...

  2. c# 调用浏览器打开网址并全屏

    关键性参数 Google Chrome浏览器 Process process = Process.Start("chrome.exe", " --kiosk " ...

  3. C# 调用浏览器打开网址

    private void button1_Click(object sender, EventArgs e) { //调用系统默认的浏览器 System.Diagnostics.Process.Sta ...

  4. cocos2dx调用浏览器打开网址

    安卓端cocos2dx/platform/android路径下CCApplication.h: virtual void openURL(const char* pszUrl); CCApplicat ...

  5. Android调用浏览器打开网址遇到的问题

    我自己的手机(一加一代,升级了氢OS),然后在点击游戏内一个"隐私政策"-- 需要打开一个网页,然后就crash了.出错的信息如下: 完全是看不出来,然后我单独写了一个demo来测 ...

  6. C# winform调用浏览器打开页面方法分享,希望对大家有帮助

    在很多客户端程序中我们都需要调用浏览器打开网页,这里分享一个可以在我winform程序调用浏览器的方法,测试通过了. 声明:这个方法是上万个用户测试通过的,不是我没有测试通过就拿出来分享,那个是自己搬 ...

  7. WebDriver驱动下载地址

    chrome的webdriver: http://chromedriver.storage.googleapis.com/index.html Firefox驱动下载地址为:https://githu ...

  8. python+selenium调用chrome打开网址获取内容

    目录 1,安装selenium和配置chromedriver 2,调用chromedriver打开网页获取网页内容 3,模拟登陆百度云 附录(webdriver版本兼容列表) 通过selenium库, ...

  9. apiCloud app调用浏览器打开网页的方法

    在APP调用浏览器有两种方法:1.使用openApp2.使用openWin 两种方法调用浏览器后的效果有一点不同:1.使用openApp调用浏览器后,如果手机内有多个浏览器,会首先弹出选择浏览器的框2 ...

随机推荐

  1. out参数

             out参数: 参数在方法的内部必须为其赋值:可以同时返回不同类型的值:                           在Main方法里定义,在方法里赋值:          输 ...

  2. RabbitMQ如何解决各种情况下丢数据的问题

    1.生产者丢数据 生产者的消息没有投递到MQ中怎么办?从生产者弄丢数据这个角度来看,RabbitMQ提供transaction和confirm模式来确保生产者不丢消息. transaction机制就是 ...

  3. TCP基础知识(二)三次握手与四次挥手

    TCP详解(2):三次握手与四次挥手 TCP(Transmission Control Protocol,传输控制协议)是基于连接的协议,也就是说,在正式收发数据前,必须和对方建立可靠的连接,就好像你 ...

  4. SZU4

    #include <iostream> #include <string> #include <cstring> #include <cstdlib> ...

  5. JavaScript里面的居民们1-数据

    编码 首先练习数字相关的一些操作: <div> <label>Number A:<input id="radio-a" type="radi ...

  6. centos7编译安装git最新版

    假如系统已经安装了git,先删除. 如果是通过yum安装的,直接在终端使用以下指令删除: yum remove git 如果是通过源码编译安装的,参考以下文章: Linux ./configure & ...

  7. 51nod 1135 原根(原根)

    题意 题目链接 Sol 可以证明素数的原根不会超过他的\(\frac{1}{4}\) 那么预处理出\(P - 1\)的所有的质因数\(p_1, p_2 \dots p_k\),暴力判断一下,如果$\e ...

  8. Navicat工具、pymysql模块

    一 IDE工具介绍(Navicat) 生产环境还是推荐使用mysql命令行,但为了方便我们测试,可以使用IDE工具,我们使用Navicat工具,这个工具本质上就是一个socket客户端,可视化的连接m ...

  9. 2-3 Sass的函数功能-列表函数

    列表函数主要包括一些对列表参数的函数使用,主要包括以下几种: length($list):返回一个列表的长度值: nth($list, $n):返回一个列表中指定的某个标签值 join($list1, ...

  10. 日常捕获的野生知识 - javascript 与 类

    javascript 并不提供类这样方便实用的面向对象类型,今天学习到了,直接上代码: <!DOCTYPE html> <html lang="en"> & ...