selenium学习笔记(加入unittest)
利用firefox浏览器的selenium IDE可以直接生成webdriver+unittest的python脚本
当然博主是要为了自己编写脚本、对用例内容进行了修改,把元素校验功能也放入了用例中
代码如下:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import unittest from selenium import webdriver
from selenium.common.exceptions import NoSuchElementException
from time import sleep class SeleniumIde(unittest.TestCase):
def setUp(self):
print "自动化测试用例执行开始"
self.driver = webdriver.Firefox()
self.driver.implicitly_wait(30)
# 智能等待30S
self.Errors = []
# 错误信息列表 def tearDown(self):
self.driver.quit()
self.assertEqual([], self.Errors)
# 检查错误信息列表 若不为空则返回显示
print "自动化测试用例执行结束" def compare_title(self, ta, tb):
if ta == tb:
print "Testcase_title: pass"
else:
print "Testcase_title: false"
# 比较title显示结果 def compare_url(self, ua, ub):
if ua == ub:
print "Testcase_url: pass"
else:
print "Testcase_url: false"
# 比较url显示结果 def test_login(self):
driver = self.driver
driver.get("http://www.cnblogs.com/")
# 测试地址 后面可以添加响应地址
driver.find_element_by_css_selector("a[onclick = 'login();return false']").click()
driver.find_element_by_css_selector("input[type = 'text']").click()
driver.find_element_by_css_selector("input[type = 'text']").send_keys(u"堕落的伊丝莉")
# 这里用户名由于是中文前面要加 u
driver.find_element_by_css_selector("input[type = 'password']").click()
driver.find_element_by_css_selector("input[type = 'password']").send_keys("xxxxxx")
# 输入密码、密码当然按照实际内容添加
driver.find_element_by_css_selector("input[type = 'submit']").click()
sleep(2) SeleniumIde.compare_title(self, driver.title, u"博客园 - 开发者的网上家园")
SeleniumIde.compare_url(self, driver.current_url, "http://www.cnblogs.com/")
try:
driver.find_element_by_css_selector("a[href = 'http://home.cnblogs.com/u/cllovewxq/']")
# 验证是否可以在页面元素中查找到当前登录状态
print "Testcase_result: pass"
except NoSuchElementException as e:
print "Testcase_result: false" if __name__ == "__main__":
unittest.main()
加入了一些代码注释方便理解
博主这也是看了大神博客中关于selenium的讲解
这里附上地址:
http://www.cnblogs.com/fnng/p/3300788.html
selenium学习笔记(加入unittest)的更多相关文章
- Python+Selenium学习笔记16 - unittest单元测试框架
unittest单元测试框架包括 Test Case, Test Suite, Test Runner, Test Fixture Test Cases 组成Test Suite, Test Run ...
- Selenium 学习笔记(一)
selenium 学习整理 初学者,如果有不当得地方请指出,非常感谢. 准备事项: 1. Python 安装包 安装Python,并勾选添加环境变量. 安装完成后,打开dos窗口,输入python,看 ...
- selenium 学习笔记 ---新手学习记录(1) 问题总结
说明:每次学习各种语言时,环境搭建访问国外网址最头疼了,现在只要是工具下载好放到自己网盘,可以随时用. 1.首先工具准备,selenium需要用到的 下载地址 访问密码 ff8f 2.我选择的语言时j ...
- selenium学习笔记(HTMLTestRunner测试报告)
之前提到selenium加入unittest框架.可以引入HTMLTestRunner扩展.以此来生成测试报告 首先是分享下载的百度云地址 http://pan.baidu.com/s/1pKUItW ...
- selenium学习笔记(selenium IDE下载安装)
今天自己一直在瞎捣鼓 最后这里整理下 selenium IDE 这个录制工具的下载安装 首先这个工具只支持火狐浏览器firefox.使用火狐浏览器进入selenium官网: http://www.se ...
- selenium学习笔记(简单的元素定位)
收拾一下心情开始新的一周工作 继续是selenium的学习.配置成功后 由于所有操作都是建立在页面元素基础上的.所以下来就是学习定位元素 首先是基础的定位.就使用博客园首页搜索框为例: 下面是代码: ...
- selenium学习笔记(selenium下载安装)
博主自己捣鼓的接口框架先到这里 等工作上正式开始使用再后续完善需求 还是继续学习python.学编程就直接动手写 就想看看python+selenium的组合 什么都不多说.先下载安装 博主这里已经安 ...
- Selenium学习笔记(1) - 自动化测试体系与原理
技术体系 基于代码的测试(Code-Based Testing) 基于协议的测试(Protocol-Based Testing) 基于界面的测试(GUI-Based Testing) 工作原理 基于代 ...
- Python+Selenium学习笔记17 - HTML测试报告
运行少量case时 1 # coding = utf-8 2 3 from selenium import webdriver 4 import unittest 5 import time 6 fr ...
随机推荐
- jQuery选择器-常用
jQuery选择器-常用 1.基本选择器 $("#id") //ID选择器 $("div") //元素选择器 $(".classname") ...
- 再谈Redis应用场景(转)
原文:在谈Redis应用场景 一.MySql+Memcached架构的问题 实际MySQL是适合进行海量数据存储的,通过Memcached将热点数据加载到cache,加速访问,很多公司都曾经使用过这样 ...
- Vue(4)- 获取原生的DOM的方式、DIY脚手架、vue-cli的使用
一.获取原生的DOM的方式 在js中,我们可以通过id.class或者标签获取DOM元素,vue中也为我们提供了获取原生DOM的方法,就是给标签或者组件添加ref属性,通过this.$refs获取,如 ...
- 我的Android进阶之旅------>Android无第三方Jar包的源代报错:The current class path entry belongs to container ...的解决方法
今天使用第三方Jar包afinal.jar时候.想看一下源码,无法看 然后像加入jar相应的源代码包.也无法加入相应的源代码,报错例如以下:The current class path entry b ...
- Android 屏幕切换动画
public void overridePendingTransition (int enterAnim, int exitAnim) Call immediately after one of th ...
- mysql 建立表之间关系 一对一 练习2
创建db5数据库 create database db5 charset=utf8; use db5; 例二:一个管理员唯一对应一个用户 用户表: id user password 1 egon xx ...
- 简明python教程二-----对象
物理行:是你在编写程序时所看见的. 逻辑行:是Python看见的单个语句. 默认的,python希望每行都只使用一个语句,这样使得代码更加易读. 如果你想要在一个物理行中使用多于一个逻辑行,用分号“: ...
- php如何实现定时任务,php定时任务方法,最佳解决方案,php自动任务处理
php如何实现定时任务,php定时任务方法,最佳解决方案,php自动任务处理 Joe PHP 2012-01-18 定时任务对于php来说一直都是很多朋友的一个难题,但却很多地方都遇到了.比如说:游戏 ...
- 简单的menu和点击(包括alertDialog定制)
import android.app.Activity;import android.app.AlertDialog;import android.app.Dialog;import android. ...
- Python 一行代码实现并行
需求 给定一个list 针对list 中每个元素执行一定的操作(这个操作很费时间,例如爬数据的时候调用某个网站的接口),返回操作后的list 例如 给定 1-10个数,在每个数字后面加个字母a 方 ...