文档章节

Selenium + python的自动化框架搭建

xxjbs001
 xxjbs001
发布于 2015/04/06 18:41
字数 589
阅读 113
收藏 4
点赞 0
评论 0
selenium是一个 web自动化测试工具,和 其它的自动化工具相比来说其最主要的特色是跨平台、跨浏览器。
支持 windows、linux、MAC,支持ie、ff、safari、opera、chrome等。
此外还有一个特色是支持分布式 测试用例的执行,可以把测试用例分布到不同的测试机器的执行,相当于分发机的功能。

关于selenium的原理、架构、使用等可以参考其官网的资料,这里记录如何搭建一个使用 python的selenium测试用例开发环境。其实用python
来开发selenium的方法有2种:一是去selenium官网下载python版的selenium引擎;还有一个就是搭建robot自动化框架,而后安装robot的
selenium插件。

这里记录的是第一种搭建方式:
1、下载并安装setuptools的Windows版本【这个工具是python的基础包工具】
2、下载并安装pip工具【这个工具是python的安装包管理工具,类似于ubuntu的aptget工具】
3、通过pip命令安装selenium工具
4、测试demo脚本

具体安装操作:
1、去这个地址http://pypi.python.org/pypi/setuptools下载setuptools【setuptools-0.6c11.win32-py2.6.exe】
2、直接安装其Windows版本的安装包,但需要对应的python版本支持
3、去这个地址http://pypi.python.org/pypi/pip下载pip【pip-1.0.2.tar.gz】
4、用winrar解压,命令行进入其目录输入命令:python setup.py install
5、直接使用pip安装selenium,命令为:pip install -U selenium
6、在命令行调用测试脚本【python demo.py】

如果测试成功会看到打开浏览器后进行 google搜索。另外selenium分版本1和版本2,这里安装是版本2的selenium。
附:demo的脚本内容如下
#!/usr/bin/python
# -*- coding: utf-8 -*-

from selenium import webdriver
from selenium.common.exceptions import TimeoutException
from selenium.webdriver.support.ui import WebDriverWait # available since 2.4.0
import time

# Create a new instance of the browser driver
driver = webdriver.Chrome()  ##可以替换为IE(), FireFox()

# go to the google home page
driver.get("http://www.google.com")

# find the element that's name attribute is q (the google search box)
inputElement = driver.find_element_by_name("q")

# type in the search
inputElement.send_keys("Cheese!")

# submit the form. (although google automatically searches now without submitting)
inputElement.submit()

# the page is ajaxy so the title is originally this:
print driver.title

try:
    # we have to wait for the page to refresh, the last thing that seems to be updated is the title
    WebDriverWait(driver, 10).until(lambda driver : driver.title.lower().startswith("cheese!"))

    # You should see "cheese! - Google Search"
    print driver.title

finally:
    driver.quit()

#==================================



本文转载自:http://blog.csdn.net/five3/article/details/7030704

共有 人打赏支持
xxjbs001
粉丝 55
博文 749
码字总数 215621
作品 0
浦东
QA/测试工程师
【自动化测试框架】 | 基于 selenium+Python,怎样从零开始搭建一个属于自己项目的测试框架

本框架是别人项目正在使用的框架,我这边抓取后经过了一点优化后整理出来的,大致包括,自动化用例套件、数据分离、日志模板、配置分离、断言、接口自动化、持续集成、自动化报告等方面,已经...

西边人
06/15
0
0
selenium2.0基本概念

关于selenium1.X的说明可以看看这个文章:http://blog.csdn.net/five3/article/details/6790925 selenium主要是通过selenium RC作为代理成功利用浏览器同源策略,注入自动化额外的JS脚本来支...

xxjbs001
2015/04/06
0
0
python+selenium自动化环境搭建

1、下载python安装。   https://www.python.org/downloads/release/python-351/ 根据自己的操作系统32/64 位,选择相应的版本。 安装过程我就没必要描述,我的安装目录为:C:Python35 2、进...

黄燕平
06/26
0
0
Linux环境安装教程——Centos6.6安装Selenium

本人特别喜欢在Centos下搭建环境。目前,主要负责公司的产品测试。所以,需要研究一下Selenium自动化测试如何在Centos上搭建。当然了,Selenium也可以安装在Windows,这方面的教程网上比较多...

江边望海
2015/06/16
0
0
python2.7+webdriver+eclipse环境搭建

之前一直用selenium+java的方式进行自动化测试 最近在自学python,想把selenium也集成到python来 1. 安装python: http://www.python.org/getit/releases/2.7.2/ 2. 安装easy-install:类似lin...

serina
2012/04/26
0
3
selenium + java + testNG 自动化环境搭建

kSelenium终极自动化测试环境搭建(一)Selenium+Eclipse+Junit+TestNG 第一步 安装JDK JDk1.7. 下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-188026......

UFO猎手
2015/05/28
0
0
高级爬虫(一):Scrapy爬虫框架的安装

Hi 小伙伴们差不多有半个月没有更新干货了,一直有点忙,而且这中间还有曲折过程,也就没有更新文章. 但今天无论如何也要更新一篇文章,接下来是爬虫高级篇重点讲解的地方! 最近会连载Scrap...

Python绿色通道
04/22
0
0
Selenium Grid的自动化测试环境搭建经验分享

Selenium Grid是什么? Selenium-Grid 允许你在多台机器的多个浏览器上并行的进行测试,也就是说,你可以同时运行多个测试。本质上来说就是,Selenium-Grid 支持分布式的测试执行。它可以让你...

江边望海
2015/08/19
0
0
Appium自动化测试系列2- 写一个Python测试脚本来测试一下YY语音

我们在《Appium自动化测试系列1-Appium环境的安装和配置》里已经搭好了Appium的基本环境,这一章,我们就来真刀真枪使用一下Appium, 看看Appium是如果来实现自动化测试的。在写测试脚本之前,...

冬吃萝卜
2015/01/27
0
3
Python + Selenium 登录QQ邮箱

Python + Selenium 自动化登录QQ邮箱 准备工作 Windows或则Linux 安装Python 安装Selenium 安装Chrome Driver 环境选择Windows 10 安装Python Windows下安装 python 3.7.0 (因为python 2和p...

迷你芊宝宝
07/02
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

matplotlib 保存图片时的参数

简单绘图 import matplotlib.pyplot as pltplt.plot(range(10)) 保存为csv格式,放大后依然很清晰 plt.savefig('t1.svg') 普通保存放大后会有点模糊文件大小20多k plt.savefig('t5.p...

阿豪boy
5分钟前
0
0
java 8 复合Lambda 表达式

comparator 比较器复合 //排序Comparator.comparing(Apple::getWeight);List<Apple> list = Stream.of(new Apple(1, "a"), new Apple(2, "b"), new Apple(3, "c")) .collect(......

Canaan_
昨天
0
0
nginx负载均衡

一、nginx 负载均衡 拓扑图: 主机信息: 1、负载均衡器1(lb1):192.168.10.205 RHEL7.5 2、负载均衡器2(lb2):192.168.10.206 RHEL7.5 3、web服务器1(web01):192.168.10.207 Centos...

人在艹木中
昨天
0
0
做了一个小网站

做了一个小网站 www.kanxs123.com

叶落花开
昨天
0
0
继社会佩奇之后,又尝试了可爱的蓝胖子,有趣 Python

#哆啦A梦# !/usr/bin/env python3# -*- coding: utf-8 -*-# @Author: dong dong# @Env: python 3.6from turtle import *# 无轨迹跳跃def my_goto(x, y): penup(...

Py爱好
昨天
0
0
shell及python脚本方式登录服务器

一、问题 在工作过程中,经常会遇见需要登录服务器,并且因为安全的原因,需要使用交互的方式登录,而且shell、python在工作中也经常用到,并且可以提供交互的功能。都是利用了expect、spawn...

yangjianzhou
昨天
0
0
upstream sent too big header while reading...

nginx 报错:1736 upstream sent too big header while reading response header from upstream 1. 一般处理 location ~ \.php$ { #增加下面两句 fastcgi_buffer_size 128k; ......

dubox
昨天
0
0
Python解析配置文件模块:ConfigPhaser

import configparser as pa# [SectionA]# a = aa# b = bb# c = cc# [SectionB]# optionint = 1# optionfloat = 1.1# optionstring = string#https://www.cnblogs.com/a......

易野
昨天
0
0
Java基础——面向对象

声明:本栏目所使用的素材都是凯哥学堂VIP学员所写,学员有权匿名,对文章有最终解释权;凯哥学堂旨在促进VIP学员互相学习的基础上公开笔记。 Object的方法: clone() Object 克隆 to Strin...

凯哥学堂
昨天
0
0
rabbitmq学习记录(八)消息发布确认机制

RabbitMQ服务器崩了导致的消息数据丢失,已经持久化的消息数据我们可以通过消息持久化来预防。但是,如果消息从生产者发送到vhosts过程中出现了问题,持久化消息数据的方案就无效了。 Rabbit...

人觉非常君
昨天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部