python+selenium实现跨浏览器兼容性测试
2015-01-26 23:05
447 查看
python
https://www.python.org/python是一种脚本语言, 易学易用,可以助你快速实现业务逻辑,高效集成系统。
----- http://zh.wikipedia.org/zh-cn/Python:
它的语法简单,与其它大多数程序设计语言使用大括号不一样,它使用缩进来定义语句块。
Python经常被用于Web开发。比如,通过mod_wsgi模块,Apache可以运行用Python编写的Web程序。使用Python语言编写的Gunicor
n作为Web服务器,也能够运行Python语言编写的Web程序。Python定义了WSGI标准应用接口来协调Http服务器与基于Python的Web程序之间的沟通。一些Web框架,如Django、Pyramid、TurboGears、Tornado、web2py、Zope、Flask等,可以让程序员轻松地开发和管理复杂的Web程序。
download: https://www.python.org/downloads/release/python-279/
selenium python bindings
selenium python bindings 提供一套简单的API,通过这些API调用了Selenium WebDriver,可以实现功能测试和验收性测试用例。可以支持对 Firefox 和 IE 和 chrome的调用。
官网介绍:
http://selenium-python.readthedocs.org/installation.html#introduction
windows安装
1、 下载安装python3.4 https://www.python.org/ftp/python/3.4.2/python-3.4.2.msi2、使用cmd.exe执行如下命令,安装selenium python bindings
C:\Python34\Scripts\pip.exe install selenium
3、下载IEdriver 和 chromedriver,并放到python安装目录下 (C:\Python34)
https://github.com/fanqingsong/daydayup/blob/master/CSoftware/webdriver/IEDriverServer.exe https://github.com/fanqingsong/daydayup/blob/master/CSoftware/webdriver/chromedriver.exe
firefox不需要驱动
使用方法待研究驱动:
https://github.com/dineshkummarc/operadriver https://github.com/mfazekas/safaridriver
4、可以运行python的测试脚本了,例如:
C:\Python34\python.exe C:\my_selenium_script.py
官网安装介绍:
http://selenium-python.readthedocs.org/installation.html#downloading-python-bindings-for-selenium
测试脚本
下面脚本实现, 打开baidu网页,搜索一个关键字, 依次执行三个浏览器(firefox ie chrome)。#import os import time from selenium import webdriver from selenium.webdriver.common.keys import Keys # test case def testbrowser(driver): driver.get("http://www.baidu.com") driver.find_element_by_id("kw").click() driver.find_element_by_id("kw").clear() driver.find_element_by_id("kw").send_keys("vx") driver.find_element_by_id("su").click() driver.implicitly_wait(30) time.sleep(3) driver.close() driver.quit() return None driverfirefox = webdriver.Firefox() testbrowser(driverfirefox) driverie = webdriver.Ie() testbrowser(driverie) driverchrome = webdriver.Chrome() testbrowser(driverchrome)
测试用例testbrowser代码可以使用 selenium IDE导出的脚本中截取主体部分:
# -*- coding: utf-8 -*- from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.common.keys import Keys from selenium.webdriver.support.ui import Select from selenium.common.exceptions import NoSuchElementException from selenium.common.exceptions import NoAlertPresentException import unittest, time, re class Baidupython(unittest.TestCase): def setUp(self): self.driver = webdriver.Firefox() self.driver.implicitly_wait(30) self.base_url = "http://www.baidu.com/" self.verificationErrors = [] self.accept_next_alert = True def test_baidupython(self): driver = self.driver driver.get(self.base_url + "/") driver.find_element_by_id("kw").click() driver.find_element_by_id("kw").clear() driver.find_element_by_id("kw").send_keys("vx") driver.find_element_by_id("su").click() def is_element_present(self, how, what): try: self.driver.find_element(by=how, value=what) except NoSuchElementException, e: return False return True def is_alert_present(self): try: self.driver.switch_to_alert() except NoAlertPresentException, e: return False return True def close_alert_and_get_its_text(self): try: alert = self.driver.switch_to_alert() alert_text = alert.text if self.accept_next_alert: alert.accept() else: alert.dismiss() return alert_text finally: self.accept_next_alert = True def tearDown(self): self.driver.quit() self.assertEqual([], self.verificationErrors) if __name__ == "__main__": unittest.main()
也可以自己写脚本,使用selenium driver的提供的api:
http://selenium-python.readthedocs.org/locating-elements.html
python教程:
http://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/0013747381369301852037f35874be2b85aa318aad57bda000
相关文章推荐
- Linux配置Selenium+Chrome+Python实现自动化测试
- python 和 selenium实现web UI功能自动化测试框架
- selenium+Python 实现简单的网页测试
- Selenium - Python下使用pageobject实现自动化测试
- Python+Selenium使用Page Object实现页面自动化测试
- python 和 selenium实现web UI功能自动化测试框架(米兔888)
- 用python做自动化测试--实现高性能测试工具(2)--优化代码
- selenium python 访问cstc测试管理系统
- 纯python实现的web: tornado性能测试
- 利用Python 1分钟搭建测试Web服务器,可实现linux目录文件共享
- 【Python】基于kNN算法的手写识别系统的实现与分类器测试
- python selenium 完整测试脚本
- python selenium chrome notepad++ 搭建自动化测试平台
- 纯python实现的web: tornado性能测试
- python实现递归遍历目录(linux下测试通过)
- python selenium 自动化测试环境安装
- 使用 Selenium 实现基于 Web 的自动化测试
- D-Bus入门(四)——QTDBUS代码,实现ofono代码下的python测试文件activite-context的功能
- 本周目标--用python实现系统监控测试
- Selenium Webdriver Python 测试环境搭建