一.打开网站1.第一步:从selenium里面导入webdriver模块2.打开Firefox浏览器(Ie和Chrome对应下面的)3.打开百度网址二.页面刷新1.有时候页面操作后,数据可能没及时同步,需要重新刷新2.这里可以模拟刷新页面操作,相当于浏览器输入框后面的刷新按钮三.前进和后退1.当在一个浏览器打开两个页面后,想返回上一页面,相当于浏览器左上角的左箭头按钮2.返回到上一页面后,也可以切换到下一页,相当于浏览器左上角的右箭头按钮四.设置窗口大小1.可以设置浏览器窗口大小,如设置窗口大小…
为什么要用Cookie?在测试多个页面时候可绕过验证码输入,直接添加cookie,也可以在添加唯一标识时候使用. 一.操作浏览器的Cookie 1.1.验证码的处理方式 说明:WebDriver类库中没有对验证码处理的方法,但是在这里可以叙说下针对验证码的几种常用处理方式: 方式:1). 去掉验证码(测试环境下-采用)2). 设置万能验证码(生产环境-采用)3). 验证码识别技术(通过Python-tesseract来识别图片类型验证码:识别率很难达到100%)4). 记录cookie(通过记录…
前言 前面已经把环境搭建好了,这从这篇开始,正式学习selenium的webdriver框架.我们平常说的 selenium自动化,其实它并不是类似于QTP之类的有GUI界面的可视化工具,我们要学的是webdriver框架的API. 本篇主要讲如何用Python调用webdriver框架的API,对浏览器做一些常规的操作,如打开.前进.后退.刷新.设置窗口大小.截屏.退出等操作. 一.打开网站 1.第一步:从selenium里面导入webdriver模块 2.打开Firefox浏览器(Ie和Ch…
前言前面已经把环境搭建好了,这从这篇开始,正式学习selenium的webdriver框架.我们平常说的 selenium自动化,其实它并不是类似于QTP之类的有GUI界面的可视化工具,我们要学的是webdriver框架的API.本篇主要讲如何用Python调用webdriver框架的API,对浏览器做一些常规的操作,如打开.前进.后退.刷新.设置窗口大小.截屏.退出等操作.一.打开网站1.第一步:从selenium里面导入webdriver模块2.打开Firefox浏览器(Ie和Chrome对…
一.打开网站 1.第一步:从selenium里面导入webdriver模块 2.打开Firefox浏览器(Ie和Chrome对应下面的) 3.打开百度网址 二.设置休眠 1.由于打开百度网址后,页面加载需要几秒钟,所以最好等到页面加载完成后再继续下一步操作 2.导入time模块,time模块是Python自带的,所以无需下载 3.设置等待时间,单位是秒(s),时间值可以是小数也可以是整数 三.页面刷新 1.有时候页面操作后,数据可能没及时同步,需要重新刷新 2.这里可以模拟刷新页面操作,相当于浏…
Selenium2+python自动化65-js定位几种方法总结   前言 本篇总结了几种js常用的定位元素方法,并用js点击按钮,对input输入框输入文本 一.以下总结了5种js定位的方法 除了id是定位到的是单个element元素对象,其它的都是elements返回的是list对象 1.通过id获取 document.getElementById("id") 2.通过name获取 document.getElementsByName("Name") 返回的是l…
前面介绍过Python中文件操作的一般方法,包括打开,写入,关闭.本文中介绍下python中关于文件操作的其他比较常用的一些方法. 首先创建一个文件poems: p=open('poems','r',encoding='utf-8') for i in p:print(i) 或者是 with open('poems','r+',encoding='utf-8') as f: for i in p: print(i)   结果如下: hello,everyone白日依山尽,黄河入海流.欲穷千里目,…
一.元素常用操作 1. clear()            清除文本 2. send_keys()        模拟输入 3. click()            单击元素 4.get_attribute 获取元素属性 5.driver.close() 关闭当前窗口 6.driver.quite() 关闭所有窗口,结束driver运行 from selenium import webdriver from time import sleep import os driver=webdriv…
前言 有不少小伙伴在安装selenium环境后启动firefox报错,因为现在selenium升级到3.0了,跟2.0的版本还有有一点区别的. 安装环境过程中主要会遇到三个坑: 1.'geckodriver' executable needs to be in PATH 2.Expected browser binary location, but unable to find binary in default location 3.Unsupported Marionette protoco…
前言 有不少小伙伴在安装selenium环境后启动firefox报错,因为现在selenium升级到3.0了,跟2.0的版本还有有一点区别的. 安装环境过程中主要会遇到三个坑: 1.'geckodriver' executable needs to be in PATH 2.Expected browser binary location, but unable to find binary in default location 3.Unsupported Marionette protoco…
selenium并不是万能的,有时候页面上操作无法实现的,这时候就需要借助JS来完成了. 常见场景: 当页面上的元素超过一屏后,想操作屏幕下方的元素,是不能直接定位到,会报元素不可见的. 这时候需要借助滚动条来拖动屏幕,使被操作的元素显示在当前的屏幕上. 滚动条是无法直接用定位工具来定位的.selenium里面也没有直接的方法去控制滚动条, 这时候只能借助J了,还好selenium提供了一个操作js的方法: execute_script(),可以直接执行js的脚本. 一.JavaScript简介…
/**     * 操作浏览器的cookie     */        @Test    public void testCookie()throws Exception{        driver.get("http://allinmd.com");        //得到当前页面下所有cookies,并输出他们所在域,name,value,有效日期和路径        Set<Cookie> cookies = driver.manage().getCookies(…
一.python自有模块正则 import re # re.match只匹配字符串的开始,如果字符串开始不符合正则表达式,则匹配失败,函数返回None print(re.match("www","wwwwccc").group()) #在起始位置匹配 print(re.match("www","wcccwww")) #不在起始位置匹配,返回None # re.search扫描整个字符串并返回第一个成功的匹配 print(re.…
前言 从这篇开始,正式学习selenium的webdriver框架.我们平常说的 selenium自动化,其实它并不是类似于QTP之类的有GUI界面的可视化工具,我们要学的是webdriver框架的API.本篇主要讲如何用Python调用webdriver框架的API,对浏览器做一些常规的操作,如打开.前进.后退.刷新.设置窗口大小.截屏.退出等操作. 一.打开网站1.第一步:从selenium里面导入webdriver模块:2.打开Firefox浏览器(Ie和Chrome对应下面的):3.打开…
from selenium import webdriverimport time as t # driver = webdriver.Chrome()# driver.get("http://www.bing.com")# driver.maximize_window()# driver.implicitly_wait(30)# driver.find_element_by_id("sb_form_q").send_keys("selenium\n&qu…
自动化测试只要掌握四步操作:获取元素,操作元素,获取返回结果,断言(返回结果与期望结果是否一致),最后自动出测试报告.元素定位在这四个环节中是至关重要的,如果说按学习精力分配的话,元素定位占70%:操作元素10%,获取返回结果10%:断言10%.如果一个页面上的元素不能被定位到,那后面的操作就无法继续了.接下来就来讲webdriver提供的八种基本元素定位方法. WebDriver元素八种定位方式:id.name.class_name.tag_name.link_text.partial_lin…
一.js的滑屏 1)以下脚本实现js滑屏scroll="document.documentElement.scrollTop=800"#垂直滚动 pxscroll = "document.documentElement.scrollLeft=1000"#水平滚动scroll="window.scrollTo(100,500)"#滚动到指定坐标scroll="window.scrollBy(0,100)"#滑动到相对坐标scro…
前言 目前selenium版本已经升级到3.0了,网上的大部分教程是基于2.0写的,所以在学习前先要弄清楚版本号,这点非常重要.本系列依然以selenium3为基础. 一.selenium简介 Selenium 是用于测试 Web 应用程序用户界面 (UI) 的常用框架.它是一款用于运行端到端功能测试的超强工具.您可以使用多个编程语言编写测试,并且 Selenium 能够在一个或多个浏览器中执行这些测试. Selenium的发展经历了三个阶段,第一个阶段,也就是selenium1的时代,在运行s…
前言 目前selenium版本已经升级到3.0了,网上的大部分教程是基于2.0写的,所以在学习前先要弄清楚版本号,这点非常重要.本系列依然以selenium3为基础. 一.selenium简介 Selenium 是用于测试 Web 应用程序用户界面 (UI) 的常用框架.它是一款用于运行端到端功能测试的超强工具.您可以使用多个编程语言编写测试,并且 Selenium 能够在一个或多个浏览器中执行这些测试. Selenium的发展经历了三个阶段,第一个阶段,也就是selenium1的时代,在运行s…
一.UnitTest介绍 unittest单元测试框架不仅可以适用于单元测试,还可以适用WEB自动化测试用例的开发与执行,该测试框架可组织执行测试用例,并且提供了丰富的断言方法,判断测试用例是否通过,最终生成测试结果. 1.1.为什么使用UnitTest框架? 1. 能够组织多个用例去执行. 2. 提供丰富的断言方法. 3. 提供丰富的日志与测试结果. 1.2.如何使用UnitTest框架 1. 导包:import unittest             --> 导入unitest框架. 2.…
一.selenium简介 1.Selenium历史 (1)Selenium 1.0: Selenium IDE      Selenium Grid    Selenium RC(核心功能) Selenium的发展经历了三个阶段,第一个阶段,也就是selenium1的时代,在运行selenium1.0程序之前,我们得先启动selenium server端(selenium remote control),我们简称RC.RC主要包括三个部分:launcher,http proxy,selenium…
前面已经把环境搭建好了,这从这篇开始,正式学习selenium的webdriver框架.我们平常说的 selenium自动化,其实它并不是类似于QTP之类的有GUI界面的可视化工具,我们要学的是webdriver框架的API.本篇主要讲如何用Python调用webdriver框架的API,对浏览器做一些常规的操作,如打开.前进.后退.刷新.设置窗口大小.截屏.退出等操作.一.打开网站1.第一步:从selenium里面导入webdriver模块2.打开Firefox浏览器(Ie和Chrome对应下…
前言 有时候一些业务的功能涉及到多个系统,需要在web系统1打开造一些数据,然后用到某些参数是动态生成的,需要调用web系统2里面的参数. 举个简单例子:在做某些业务的时候,需要手机短信验证码,我不可能去搞个手机连着电脑吧,那样太傻,我们的目的是获取短信验证码,短信验证码都有短信平台去查询. 当然能直接操作数据库最简单了,用python连数据库直接通过sql去查就行. 一.启动两个driver 1.如果我想启动2个火狐,一个火狐打开百度,另外一个火狐打开博客园,我们只需用2个实例driver去控…
随着测试行业的发展,现在不论在找工作还是在实际的工作中,对要求掌握自动化越来越普遍,在这里就记录一下一些入门的知识,希望对阅读者能有一些帮助吧!好哒,步入正题,这一篇主要记录下如何用Python调用webdriver框架的API,对浏览器做一些常规的操作,如打开.前进.后退.刷新.设置窗口大小.截屏.退出等操作. 一.打开网站 1.第一步:从selenium中导入webdriver模块. 2.代开Firefox浏览器(Chrome和Ie对应下面的) 3.打开百度网址 在这里说一句写的时候注意下F…
一.认识单选框和复选框 1.先认清楚单选框和复选框长什么样 2.各位小伙伴看清楚哦,上面的单选框是圆的:下图复选框是方的,这个是业界的标准,要是开发小伙伴把图标弄错了,可以先抽他了. 二.radio和checkbox源码 1.上图的html源码如下,把下面这段复杂下来,写到文本里,后缀改成.html就可以了. <html>      <head>      <meta http-equiv="content-type" content="text…
import time 一.强制等待 sleep(秒) 二.显示等待 使WebDriver等待指定元素条件成立时继续执行,否则在达到最大时长时抛出超时异常(TimeoutException) 1. 导包 等待类 --> from selenium.webdriver.support.wait import WebDriverWait2. 导包 判断条件 --> from selenium.webdriver.support import expected_conditions as EC (将…
使用selenium的webdriver框架,对浏览器的常规操作,如下~~ #coding=utf-8 from selenium import webdriver import time from Tkconstants import CURRENT #打开firefox浏览器 driver = webdriver.Firefox() #打开百度页面 driver.get("https://www.baidu.com/") #等待页面加载完毕 time.sleep(5) #刷新页面…
前言 本篇总结了几种js常用的定位元素方法,并用js点击按钮,对input输入框输入文本 一.以下总结了5种js定位的方法 除了id是定位到的是单个element元素对象,其它的都是elements返回的是list对象 1.通过id获取 document.getElementById(“id”) 2.通过name获取 document.getElementsByName(“Name”) 返回的是list 3.通过标签名选取元素 document.getElementsByTagName(“tag…
本篇转自博客:上海-小T 原文地址:https://i.cnblogs.com/EditArticles.aspx?opt=1 我们在用Selenium遇到多个浏览器窗口或单个浏览器多个标签(Tab)的状况时,往往都不太好处理,这里将介绍两种处理方法. 本文所引用的例子是百度,在百度首页下方有一个“把百度设为主页”的超链接,点击它会另起一个新标签页,是一个不错的例子: 1.switch_to.window() 该方法是Webdriver中内置的一个方法,除了在多个浏览器中作切换用,单个浏览器多个…
在python中对一个文件进行操作,分为三大步:打开,操作,关闭 首先创建一个文件hello,里面内容为hello world 一.打开一个文件 1.#open(‘文件名或文件路径’,‘操作模式’,文件里内容变成utf-8) 2.用with语句: with open('hello','r',encoding='utf-8') as w: 二.对文件进行相关操作 1.阅读文件内容 w=open('hello','r',encoding='utf-8') j=w.read(5) print(j) #…