• 0
  • 0
分享

Selenium是一款基于Web页面的UI自动化测试框架

  1. 支持多浏览器操作:Chrome、IE、Firefox、Safaria等;

  2. 支持夸平台,Windows、Linux、Mac等;

  3. 持多语言,Python、Java、Ruby、C#等。

1、Selenium webdriver 原理:

Webdriver是按照Client/Server模式设计的

Client:编程语言客户端

Server:浏览器驱动程序。用来接收客户端的请求并驱动浏览器执行操作然后返回结果

Selenium代码与浏览器驱动程序之间是通过http协议进行数据交互的。这种方式,不在乎客户端是什么样的形式,只要数据的格式和协议是服务端能够解析的就可以了。

11.jpg

通信步骤为:

  1. webdriver启动浏览器驱动程序,并设置侦听端口号

  2. webdriver客户端与浏览器服务端建立连接

  3. 连接成功后,所有的操作(比如:查找元素、点击等)都是客户端通过

commandExecuter发送http请求到服务端;服务端根据收到的请求做相应的操作并返回

2、启动浏览器:

from selenium import webdriver
driver=webdriver.Chrome()
driver.get("http://www.baidu.com")

3、Chromeoption类

通过Chromeoption类对启动的浏览器添加一下设置信息,比如添加用户的缓存配置信息等

1、关闭谷歌浏览器的提示栏: --disable-infobars

from selenium import webdriver
option = webdriver.ChromeOptions()
option.add_argument("--disable-infobars")
driver = webdriver.Chrome(options=option)
driver.get("http://www.baidu.com")

2、添加用户配置数据:user-data-dir = path

启动浏览器时,带上用户配置的数据,如保存的登录密码信息,书签等。

path为谷歌浏览器设置的用户数据目录。一般都是在:C:\Users\user\AppData\Local\Google\Chrome\User Data


作者:Meet Nice

原文链接:https://blog.csdn.net/weixin_43969815/article/details/102886996

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          •   作为一名Tester,无论是面试还是工作,我们都常常会遇到该问题,毕竟现在大部分接手的项目都是中小型的项目,很多又是生疏行业的系统,所以这个问题就会常常伴随我们,那么遇到这个问题该怎么办呢,现在我们就分下面6点来讨论一下。  1.了解测试任务  我看网上有些博主一上来就让大家看资料了解系统,就是下面讲的第二点,当然这样做也行,但是会导致效率低下,就像我们上学时做阅读理解一样,最正确的做法应该是带着问题去看资料,所以我们应该一上来明确测试任务,然后带着这些测试任务的问题去看资料。  2.从现有资料中获取信息  明确测试任务后,就可以问研发团队要该项目的所有资料了,这里面主要包括产品需求文档(...
            0 0 1122
            分享
          • 移动应用特点与传统的PC软件系统相比,移动应用开发成本相对低廉,具有很好的便携性,极高的碎片时间利用率,很强的用户粘性及忠诚度,尤其随着网络及智能移动设备的迅速发展,移动应用占据了用户日常生活的大部分,人们常说的“手机控”“低头族”也充分说明了移动应用发展前景的火爆。移动应用具有以下几个特点。1、应用场景多变有了移动应用,人们参与互联网活动不再局限于办公室、家庭或其他固定场所,随处可见的“低头族”足以说明移动应用的应用场景广泛。图10-1低头族2、高便携性以手游为例,传统的游戏有端游、页游,都需在PC上运行,随着掌上游戏机的发展,渐渐地将游戏移植到便携设备上,发展至今非常火爆的手游,如王者荣耀...
            0 0 1316
            分享
          •   一旦你的系统流量有大的增长,比如类似“双十一”的流量,那么你在面临性能问题时就可能会手足无措。为了解决后顾之忧,你需要了解在流量增长若干倍的时候,系统的哪些组件或者服务会成为整体系统的瓶颈点,这时你就需要做一次全链路的压力测试。  那么,什么是压力测试呢?要如何来做全链路的压测呢?这两个问题就是本节课重点讲解的内容。  什么是压力测试  压力测试(简称为压测)这个名词儿,你在业界的分享中一定听过很多次,当然了,你也可能在项目的研发过程中做过压力测试,所以,对于你来说,压力测试并不陌生。  不过我想让你回想一下,自己是怎么做压力测试的?是不是像很多同学一样:先搭建一套与正式环境功能相同的测试...
            7 7 1739
            分享
          •   目标  以银行的核心系统从旧核心系统更换为新核心系统为基础,对导入到迁移环境的生产数据(已脱敏)进行数据的验证。  数据迁移环境  迁移环境需要A、B两套环境。其中,A环境为新系统环境、B环境为老系统环境。  数据迁移小组  迁移小组:由迁移技术人员、业务人员和测试人员组成。负责迁移规则的验证、数据的静态核对;迁移规则的验证为全部验证,而数据的静态核对,则进行抽验。  数据迁移的验证  迁移规则的验证  迁移过程为源表中间表目标表,技术测试验证源表中间表、中间表目标表之间迁移测试的一致性,确保迁移数据全部符合按照迁移规则,确保老核心系统中需要迁移的数据都能全部迁移到新一代核心系统中。  数...
            8 9 2093
            分享
      • 51testing软件测试圈微信