firefox

selenium WebDriver的实现原理

南笙酒味 提交于 2020-04-26 06:05:23
感觉这篇博客写的很详细: 献上地址:https://blog.csdn.net/yoyocat915/article/details/80246744 在WebDriver中也有类似的三个角色: 工程师写的自动化测试代码:自动化测试代码发送请求给浏览器的驱动(比如火狐驱动、谷歌驱动) 浏览器的驱动:它来解析这些自动化测试的代码,解析后把它们发送给浏览器 浏览器:执行浏览器驱动发来的指令,并最终完成工程师想要的操作。 下面再从技术上解释下WebDriver的工作原理: 从技术上讲,也同样是上面的三个角色: 1. WebDriver API(基于Java、Python、C#等语言) 对于java语言来说,就是下载下来的selenium的Jar包,比如selenium-java-3.8.1.zip包,代表Selenium3.8.1的版本 2. 浏览器的驱动(browser driver) 每个浏览器都有自己的驱动,均以exe文件形式存在 比如谷歌的chromedriver.exe、火狐的geckodriver.exe、IE的IEDriverServer.exe 3. 浏览器 浏览器当然就是我们很熟悉的常用的各种浏览器。 那在WebDriver脚本运行的时候,它们之间是如何通信的呢?为什么同一个browser driver即可以处理java语言的脚本,也可以处理python语言的脚本呢

玩玩自动化测试之selenium篇

天涯浪子 提交于 2020-04-26 06:04:56
   现如今社会科技发展太快了,纯功能点点点已经落后别人好几条街了,所以为了让自己多点职业生涯年限,得挺起肩,傲起头。自动化测试,其本质是用代码程序测试程序,所以其实第一步应该学好编程语言,后再自己开发自动化测试工具、框架,那这就到了高级测试工程师的位置了,在这之前就要学习掌握许多的相关知识,首先我们可以先学习探索几个自动化测试工具,这篇主讲selenium 一 前言:   1、为了要代替繁琐重复的手动回归,这时利用上自动化工具是多么妙的感觉,在市面上自动化测试工具有很多,目前最常用的就是QTP和selenium,但是更喜欢selenium,因它开源免费,可定制,多语言,还跨平台(手机、windows、mac和Linux),唯一不足就是不支持桌面应用程序, 只支持浏览器   2、什么项目适合做UI自动化:①项目周期长 ②业务流程复杂 ③项目相对来说比较稳定 ④项目基于Adobe flash的话就不适合 ⑤定制化的项目   3、selenium三个版本: ①selenium 1版,基于JS,通过向浏览器植入JS,完成操纵网页的目的 ②selenium 2版,引入webdriver,基于HTTP协议,代码相当于客户端跟selenium的服务器会开一个session,代码传给selenium的服务器,服务器把代码翻译成driver能听懂的 语言,就是一个API接口

6. Selenium测试工具简介

笑着哭i 提交于 2020-04-26 06:04:20
6. Selenium 测试工具简介 Selenium 的前世今生 1. Selenium 1.0 Selenium 1.0 = Selenium IDE + Selenium Grid + Selenium RC 早期的Selenium 使用的是Javascript 注入技术与浏览器打交道,需要Selenium RC 启动一个Server ,将操作Web 元素的API 调用转化为一段段Javascript ,在Selenium 内核启动浏览器之后注入这段Javascript 。 Javascript可以获取并调用页面的任何元素进行操作,实现了 Selenium自动化 Web操作的目的。这种 Javascript注入技术的缺点是速度不理想,而且稳定性大大依赖于 Selenium内核对 API翻译成的 Javascript质量高低。 2. Selenium 2.0 Selenium 2.0 = Selenium 1.0 + WebDriver Selenium2.x 提出了 WebDriver的概念之后,它提供了完全另外的一种方式与浏览器交互。那就是利用浏览器原生的 API,封装成一套更加面向对象的 Selenium WebDriver API,直接操作浏览器页面里的元素,甚至操作浏览器本身(截屏,窗口大小,启动,关闭,安装插件,配置证书之类的)。由于使用的是浏览器原生的 API

selenium2自动化测试学习笔记(一)

十年热恋 提交于 2020-04-26 06:03:52
从这周开始学习自动化测试,采用selenium2,目标是在本月学习到appium,并测试公司的真实APP项目。 系统环境:win10 语言:python3.6.4 工具:selenium2 IDE:python IDLE 浏览器(需下载相对应的webdriver): IE11 Chrome65.0.3325.146 Firefox58 Windows下载安装python 基础书籍是虫师的selenium2自动化测试实战(基于python语言)。 下载了python3.6.4,https://www.python.org/ 在安装python的时候一定要自定义,然后选择add path,否则需要手工添加环境变量 安装好后,打开cmd,输入 python,显示版本情况,说明安装成功。 python3.6.4已经默认安装了pip,在cmd中使用pip install selenium安装selenium。 webdriver驱动下载 原文链接: https://www.cnblogs.com/feiquan/p/8531686.html IE11的Webdriver下载:   http://dl.pconline.com.cn/download/771640-1.html   链接:https://pan.baidu.com/s/13TTyXGNaG5cpSNdl1k9ksQ 密码

Selenium2+python自动化1-环境搭建

落花浮王杯 提交于 2020-04-26 06:03:25
前言 目前selenium版本已经升级到3.0了,网上的大部分教程是基于2.0写的,所以在学习前先要弄清楚版本号,这点非常重要。本系列依然以selenium2为基础,目前selenium3坑比较多,暂时没精力去研究,后续会出相关教程。 一、selenium简介 Selenium 是用于测试 Web 应用程序用户界面 (UI) 的常用框架。它是一款用于运行端到端功能测试的超强工具。您可以使用多个编程语言编写测试,并且 Selenium 能够在一个或多个浏览器中执行这些测试。 Selenium的发展经历了三个阶段,第一个阶段,也就是selenium1的时代,在运行selenium1.0程序之前,我们得先启动selenium server 端(selenium remote control),我们简称RC。RC主要包括三个部 分:launcher,http proxy,selenium core。其中selenium core是被selenium server嵌入到浏览器页面中的,selenium core内部是一堆javascript函数构成,通过调用这些函数来实现对浏览器的各种操作。 很显然比较繁琐,这并不是最佳自动化解决方案,于是后来有了webdriver。 selenium2 的时代合并了webdriver,也就是我们通常说的selenium

1. python3.5+selenium 3.141.0+Firefox67安装

て烟熏妆下的殇ゞ 提交于 2020-04-26 05:49:29
我的电脑已安装python3.5并配置号环境变量 验证python安装无异常:在cmd中输入python,显示安装的python版本号 在官网下载Firefox:https://www.firefox.com.cn 下载对应版本的geckodriver:https://github.com/mozilla/geckodriver/releases,并将geckodriver.exe放置python安装根目录下,与python.exe同级 打开cmd,准备安装selenium 输入pip cmd输入指令安装在线安装selenium >pip install selenium==2.53.6 等到进度显示100%,安装完成 提示有可用的新版本安装: python -m pip install --upgrade pip 检查selenium环境 输入以下语句,查看firefox是否打开 python >>> from selenium import webdriver >>> webdriver.Firefox() 如果误输入为firefox,会报error 提示error sessionid,更新selenium版本: pip install - U selenium 至此环境搭建完成,打开百度首页 python >>> from selenium import webdriver

Selenium2学习(一)-pip降级selenium3.0

不羁的心 提交于 2020-04-26 05:49:03
selenium版本安装后启动Firefox出现异常:'geckodriver' executable needs to be in PATH selenium默默的升级到了3.0,然而网上的教程都是基于selenium2的,最近有不少小伙伴踩坑了,决定有必要出这一篇,帮助刚入门的小伙伴们解决好环境问题。 selenium+python环境搭配: selenium2+firefox46以下版本(无需驱动包,firefox喜欢偷偷升级,你懂的) selenium3+firefix47以上版本(必须下载驱动:geckodriver.exe,且添加到环境变量) 一、遇到异常 1.安装完selenium后,再cmd进入python环境 2.从selenium导入webdriver 3.启动Firefox浏览器 >>python >>from selenium import webdriver >>webdriver.Firefox() 然后出现以下异常:'geckodriver' executable needs to be in PATH 二、解决方案 1.'geckodriver' executable needs to be in PATH,这句话意思就是说,geckodriver.exe的驱动文件需要添加到环境变量下, selenium2是默认支持firefox的,不需要驱动包

团队项目-结项-软件需求规格说明文档

佐手、 提交于 2020-04-26 05:07:38
团队项目-结项-软件需求规格说明文档 by InspAlgo小组 注:本文档依据《软件工程基础(第2版)》胡思康编著 P58 的软件需求规格说明文档编写 一、软件需求规格说明 1.1 范围 1.1.1 标识 系统名称: BIT课程/BITCourse 版本号: alpha版(开发版) 1.1.2 系统概述 1.1.2.1 一般特性 提供BIT在校生发表关于课程及教师的评价,同时可以看到相互之间的评价。 1.1.2.2 系统开发、运行和维护的历史 目前系统还处于开发阶段,由于本课程结课,故本项目开发冻结。 系统开发历史 开发内容 13、14周 基本完成主页面的框架 15周 完成主页面的服务器部署 16周 在写前端需要和数据库交互的部分,同时进行本周课程最后一次汇报的整理 17周 继续修改数据库交互部分 18周 完成数据库交互的主要功能,能够从网页上添加评价信息及查询评价信息 1.1.2.3 项目利益相关对象 对象 名称 投资方 InspAlgo小组 需方 授课教师 用户 BIT在校生 开发方 InspAlgo小组 支持机构 / 1.1.2.4 运行现场 当前的运行现场 计划的运行现场 网页 网页 1.1.2.5 其他相关文档 见 《团队项目-结项-项目总结》 的文档汇总 1.1.3 文档概述 1.1.3.1 文档用途 本文档适用于判断分析本项目的需求建模情况

中文代码示例之5分钟入门TypeScript

别等时光非礼了梦想. 提交于 2020-04-25 22:28:06
"中文编程"知乎专栏原文 Typescript官方文档起的这个噱头名字: TypeScript in 5 minutes , 虽然光看完文章就不止5分钟...走完整个文档流水账如下(代码编辑器用的是VS Code) 源码在: program-in-chinese/typescript_in_5_min_zh 第一个TypeScript程序 function 问好(那谁) { return "吃了么, " + 那谁; } let 路人 = "打酱油的"; document.body.innerHTML = 问好(路人); 运行 tsc 问好.ts 编译生成"问好.js"文件. 添加参数类型 function 问好(那谁: string) { return "吃了么, " + 那谁; } 如果'那谁'的类型不符, 比如是数组类型[0,1,2], 编译时会报错, 挺好: 问好.ts(7,30): error TS2345: Argument of type 'number[]' is not assignable to parameter of type 'string'. 添加接口 interface 人 { 姓: string; 名: string; } function 问好(那谁: 人) { return "吃了么, " + 那谁.姓 + 那谁.名; } let 路人 = {姓:

python打包工具distutils、setuptools的使用

那年仲夏 提交于 2020-04-25 14:30:54
python中安装包的方式有很多种: 源码包:python setup.py install 在线安装:pip install 包名(linux) / easy_install 包名(window) python包在开发中十分常见,一般的使用套路是所有的功能做一个python模块包,打包模块,然后发布,安装使用。打包和安装包就是最常见的工作。学习中遇到distutils和setuptools两种打包的工具,学习之后做笔记记录。 distutils distutils 是 python 标准库的一部分,这个库的目的是为开发者提供一种方便的打包方式, 同时为使用者提供方便的安装方式。当我们开发了自己的模块之后,使用distutils的setup.py打包。 一、完成功能python hello.py 1 2 def hello_fun(): print "i say hello to you" 二、建立setup.py文件 setup.py 1 2 3 4 5 6 7 8 9 from distutils.core import setup setup( name= "hello_module" , version= "1.0" , author= "ljk" , author_email= "wilber@sh.com" , py_modules=[ 'hello' ], ) 三