pythonselenuim
⑴ 如何搭建python+selenium自动化测试框架
selenium是一个web的自动化测试工具,不少学习功能自动化的同学开始首选selenium,相因为它相比QTP有诸多有点:
*免费,也不用再为破解QTP而大伤脑筋
*小巧,对于不同的语言它只是一个包而已,而QTP需要下载安装1个多G的程序。
*这也是最重要的一点,不管你以前更熟悉C、java、ruby、python、或都是C#,你都可以通过selenium完成自动化测试,而QTP只支持VBS
*支持多平台:windows、linux、MAC,支持多浏览器:ie、ff、safari、opera、chrome
*支持分布式测试用例的执行,可以把测试用例分布到不同的测试机器的执行,相当于分发机的功能。
关于selenium的基础知识与java平台的结合,我之前写过一个《菜鸟学习自动化测试》系列,最近学python,所以想尝试一下selenium的在python平台如何搭建;还好这方法的文章很容易,在此将搭建步骤整理分享。
搭建平台windows
准备工具如下:
-------------------------------------------------------------
下载python
-------------------------------------------------------------
如果你是新学python,哪果你没有要用的包是必须依赖于pyhton2.x 的,那么请毫不犹豫的选择python3.5吧!
window安装步骤:
1、下载python安装。
又报了个错:
Chromeversionmustbe>=27.0.1453.0 (Driverinfo:chromedriver=2.0,platform=WindowsNT5.1SP3x86)
说我chrome的版本没有大于27.0.1453.0,这个好办,更新到最新版本即可。
安装IEdriver
在新版本的webdriver中,只有安装了iedriver使用ie进行测试工作。
iedriver的下载地址在这里,记得根据自己机器的操作系统版本来下载相应的driver。
暂时还没尝试,应该和chrome的安装方式类似。
记得配置IE的保护模式
如果要使用webdriver启动IE的话,那么就需要配置IE的保护模式了。
把IE里的保护模式都选上或都勾掉就可以了。
⑵ Selenium 和python是啥关系是否相关参考文档
Selenium是一个软件测试工具; python是一种面向对象、直译式计算机程序设计语言.
Selenium分成Selenium IDE, Selenium RC (Remote Control), 和Selenium Grid. 他们都是基于Selenium Core的. 这里给你说说Selenium IDE和RC吧. Selenium IDE是Firefox的一个插件, 它可以录制一系列的过程(比如google中输入一个单词, 点搜索按钮,...,). Selenium IDE可以把这个过程录制号, 并且转化成多种语言, 比如:Java, C#, Perl, PHP, Python,等等吧.
那么这时候我们就可以这些语言对应的编译器(比如Java我们用ECLIPSE; C#用Visual Studio)把从Selenium IDE经过录制, 得到并转化好的程序代码在这些编译器里运行, 运行的时候, 程序会调用Selenium RC来实现对刚才这段过程录制的远程操作 (可以控制打开一个firefox或者IE的浏览器进行回放, 也就是测试的过程.
简单地说就是 Selenium可以用python语言来调用它(Selenium RC)进行测试.
不知道我说明白了没有.
⑶ 如何搭建Python3.4+Selenium
今天是第一次尝试写技术有关的流水文字,读书时候,曾经写过。时隔4年,再次拿起,将自学的,以及工作中遇到的有代表性的问题,在此记录下来。同时敦促自己,坚持下去。
谢谢网友们的分享。在此 ,也将曾经遇到的各种问题,记录在此。
下面开始在CSDN的第一篇文章:
System OS:Win7 (64位)
Python3.4(32位)
Chrome
详细步骤:
1.下载32位的python3.4 ,安装,注意在安装过程中,选择pip
2.添加系统环境变量
C:\Python34;C:\Python34\Scripts;C:\Program Files\Google\Chrome\Application(后面会用到)
3.使用pip命令,安装selenium
cd Python34
然后输入: pip install -U selenium
安装成功后,显示:
Runing setup.py install foe selenium
Successfully installed selenium-2.48.0
4.检测selenium是否安装成功。
在python的IDLE中,输入:
from selenium import webdriver
如果没有报错,则selenium安装成功。
5.开始第一个程序
from selenium import webdriver
driver = webdriver.Chrome()
driver.get(“htu.com“)
driver.find_element_by_id(“kw”).send_keys(“自动化测试”)
按F5运行,然后会自动打开网络网页。
能够顺利安装,那是幸运的,但是更多时候,总因为各种原因导致安装过程不太顺利。
下面将安装过程中遇到的问题,总结在此:
issue 1:
使用pip 命令安装结束后,加载selenium模块报错。
from selenium import webdriver
报错:
File “pyshell#0”, line 1, in
import selenium
File “C:\Python34\selenium.py”, line 1, in
from selenium import webdriver
ImportError: cannot import name ‘webdriver’
Traceback (most recent call last):
File “pyshell#0”, line 1, in
import selenium
File “C:\Python34\selenium.py”, line 1, in
from selenium import webdriver
网络了很多方法,仍无解。
解决方法: 最后换了版本,将64位python3.4 改为32位的python3.4
再次重新安装,成功。
issue 2:
使用browser=webdriver.Chorme() 报错。
报错:
Error message: “’chromedriver’ executable needs to be available in the path”
这是因为缺少驱动:Chromedriver.exe
下载Chormedriver.exe
注意安装Chromedriver.exe要与PC所安装的Chrome版本匹配。
解决方法:下载安装ChromeDrvier.exe 将ChromeDrvier.exe 放到C:\Python34\Scripts\
OVER
⑷ python selenium select选择器
from selenium.webdriver.support.select import Select
select_by_value(value)
select_by_index(index)
select_by_visible_text(text)
selector = Select(driver.find_element_by_id("selectdemo"))
selector.select_by_index("2") # 通过index进行选择,index从0开始
selector.select_by_value("210103") # 通过value属性值进行选择
selector.select_by_visible_text("篮球运动员") # 通过标签显示的text进行选择
deselect_all() # 取消全选
deselect_by_value(value) # 通过value属性取消选择
deselect_by_index(index) # 通过index取消选择
deselect_by_visible_text(text) # 通过text取消选择
selector = driver.find_element_by_id("selectdemo")
selector.find_element_by_xpath("//option[@value='210103']").click()
driver.find_element_by_xpath(".//*[@id='selectdemo']/option[3]").click()
⑸ 关于Python selenium,无法使用,find_element求大神指点
题主你好,
首先来说你的代码不能正确执行的最终原因是下面这两个函数没有正确调用,这两个函数都是有参数的:
=====
希望可以帮到题主, 欢迎追问.
⑹ python和selenium怎么判断进度条
phython:
首先利用pip快速安装第三方库,tqdm
使用tqdm的函数之前需要导入qdm库
在tqdm的应用中,直接在for结构上,添加一个tdqm()即可。
执行上一步的操作,就可以观察到进度条。
selenium:
拿到浏览器滚动条的js代码,然后执行,就可以看到进度条
.通过模拟键盘的形式去滚动屏幕,就可以看到进度条
其中通过 driver.execute_script()执行js代码时,可以用两个语法,语法:scrollBy(x,y)和语法:scrollBy(x,y
⑺ selenium python怎么封装方法
一、常用函数的封装
在使用selenium做web自动化测试的过程中,经常会碰到各种各样的问题,比如:
1、页面加载比较慢时,selenium查找元素抛出异常,导致脚本运行中止
2、写完脚本后发现代码逻辑不够清晰,维护困难,降低测试效率
所以很有必要对selenium进行封装使框架更适合公司的需求,下面是基类的封装,主要使用单例模式,可以将业务逻辑代码存放在不同的Python文件中
注:BASE_URL为博客园的登录地址
四、其他
按照此模式博友可根据公司具体的业务来实现自动化测试脚本,本文抛砖引玉,如有其他更好的想法可以一起探讨
⑻ Python+selenium 怎么定位自定义弹窗元素
首先要确定弹窗的类型。
弹出窗口基本上有如下三种实现方式:
(1)div弹窗
(2)新标签页弹窗
(3)alert弹窗
针对不同类型的弹窗,相应采取不同的定位措施。
由于不知问题中实际的弹窗类型,在此笼统说下:
1、div弹窗
对于此类弹窗,可以直接用find_element_by_...得到 div窗口中各元素,再进行操作即可,需要注意的一点是,需要等 div窗口元素加载完毕之后,再去获取窗口中的元素。
2、新标签页弹窗
新标签页弹窗,则需要进行窗口的切换。从图片看,问题中的弹窗应该不属于此类弹窗。
3、alert弹窗
此类弹窗是由 js执行 alert、confirm、prompt等生成的弹窗,其应对方法是:
使用 switch_to.alert() 方法定位到 alert/confirm/prompt,然后使用text/accept/dismiss/send_keys 方法进行操作。
⑼ 前端是vue框架如何用python+selenium做自动化测试
你好,下面是一个简单的python+selenium的例子:
from selenium import webdriver
import time
driver = webdriver.Chrome()
driver.get("http://www..com")
print(driver.title)
driver.find_element_by_id("kw").send_keys("selenium")
driver.find_element_by_id("su").click()
time.sleep(3)
driver.close()
webdriver.Chrome():创建一个Chrome浏览器的webdriver实例
driver.get(“http://www..com“):打开”http://www..com“页面
driver.find_element_by_id(“kw”).send_keys(“selenium”):找到id为“kw”的元素,在这个页面上为网络首页的搜索框,在其中输入“selenium”
driver.find_element_by_id(“su”).click():找到id为“su”的元素并点击,在这个页面上为网络首页的“网络一下”按钮
driver.close():退出浏览器