Selenium3+python自动化-iframe】的更多相关文章

一.frame和iframe区别 Frame与Iframe两者可以实现的功能基本相同,不过Iframe比Frame具有更多的灵活性. frame是整个页面的框架,iframe是内嵌的网页元素,也可以说是内嵌的框架 Iframe标记又叫浮动帧标记,可以用它将一个HTML文档嵌入在一个HTML中显示.它和Frame标记的最大区别是在网页中嵌入 的<Iframe></Iframe>所包含的内容与整个页面是一个整体,而<Frame>< /Frame>所包含的内容是一…
前言 有不少小伙伴在安装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版本已经升级到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.…
自动化测试概述 1.自动化分类: (1)单元测试自动化: 单元测试(Unit):模拟各种异常场景,外部依赖较少,且可以做测试单元到最小的一种测试方法. Java单元测试框架Junit.TestNG; Python单元测试框架Unittest. (2)接口自动化 接口测试(API):对系统的结构和系统间的调度非常清楚,了解接口逻辑关系. 工具有Jmeter.Postman.Loadrunner等: (3)web/移动端自动化: 页面测试(GUI):常见的黑盒自动化测试,最接近用户真实场景,容易发现…
一.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…
前言 本篇详细讲解iframe的相关切换操作. 一.frame和iframe区别 Frame与Iframe两者可以实现的功能基本相同,不过Iframe比Frame具有更多的灵活性. frame是整个页面的框架,iframe是内嵌的网页元素,也可以说是内嵌的框架. Iframe标记又叫浮动帧标记,可以用它将一个HTML文档嵌入在一个HTML中显示.它和Frame标记的最大区别是在网页中嵌入 的<Iframe></Iframe>所包含的内容与整个页面是一个整体,而<Frame&g…
selenium并不是万能的,有时候页面上操作无法实现的,这时候就需要借助JS来完成了. 常见场景: 当页面上的元素超过一屏后,想操作屏幕下方的元素,是不能直接定位到,会报元素不可见的. 这时候需要借助滚动条来拖动屏幕,使被操作的元素显示在当前的屏幕上. 滚动条是无法直接用定位工具来定位的.selenium里面也没有直接的方法去控制滚动条, 这时候只能借助J了,还好selenium提供了一个操作js的方法: execute_script(),可以直接执行js的脚本. 一.JavaScript简介…
一.认识单选框和复选框 1.先认清楚单选框和复选框长什么样 2.各位小伙伴看清楚哦,上面的单选框是圆的:下图复选框是方的,这个是业界的标准,要是开发小伙伴把图标弄错了,可以先抽他了. 二.radio和checkbox源码 1.上图的html源码如下,把下面这段复杂下来,写到文本里,后缀改成.html就可以了. <html>      <head>      <meta http-equiv="content-type" content="text…
1.进程 什么是进程? 进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础.在早期面向进程设计的计算机结构中,进程是程序的基本执行实体:在当代面向线程设计的计算机结构中,进程是线程的容器.程序是指令.数据及其组织形式的描述,进程是程序的实体. 程序:例如xxx.py这是程序,是一个静态的 进程:一个程序运行起来后,代码+用到的资源 称之为进程,它是操作系统分配资源的基本单元. 2.线程 什么是线程? 线程,有时被称为轻量…
为什么要用Cookie?在测试多个页面时候可绕过验证码输入,直接添加cookie,也可以在添加唯一标识时候使用. 一.操作浏览器的Cookie 1.1.验证码的处理方式 说明:WebDriver类库中没有对验证码处理的方法,但是在这里可以叙说下针对验证码的几种常用处理方式: 方式:1). 去掉验证码(测试环境下-采用)2). 设置万能验证码(生产环境-采用)3). 验证码识别技术(通过Python-tesseract来识别图片类型验证码:识别率很难达到100%)4). 记录cookie(通过记录…
批量执行完用例后,生成的测试报告是文本形式的,不够直观,为了更好的展示测试报告,最好是生成HTML格式的. unittest里面是不能生成html格式报告的,需要导入一个第三方的模块:HTMLTestRunner 一.导入HTMLTestRunner 1.这个模块下载不能通过pip安装了,只能下载后手动导入,下载地址:http://tungwaiyip.info/software/HTMLTestRunner.html 2.Download下HTMLTestRunner.py文件就是我们需要下载…
iframe 一.frame:HTML页面中的一种框架,主要作用是在当前页面中指定区域显示另一页面元素: 二.操作Frame中的页面元素 定位元素: 1.id定位driver.switch_to.frame('frame_id') 2.name定位driver.switch_to.frame('frame_name') 3.索引driver.switch_to.frame(0) 4.webelement对象a=driver.find_element_by_xpath('//iframe')dri…
警告框 alert = driver.switch_to.alert alert.text() alert.accpet() alert.dismiss() # 导selenium包 from selenium import webdriver from time import sleep # 实例化浏览器对象 driver=webdriver.Chrome() # 定义url url='D:\\pycharm\\lebohtml\\自动化05期-007-Selenium常用定位方法\\html…
import time 一.强制等待 sleep(秒) 二.显示等待 使WebDriver等待指定元素条件成立时继续执行,否则在达到最大时长时抛出超时异常(TimeoutException) 1. 导包 等待类 --> from selenium.webdriver.support.wait import WebDriverWait2. 导包 判断条件 --> from selenium.webdriver.support import expected_conditions as EC (将…
1.关键字: login 登录 log 日志 logging python日志模块 2.什么叫日志: 日志用来记录用户行为或者代码的执行过程 3.日志使用的地方: 1.排错的时候需要打印很多细节来帮助排错 2.有一些用户行为,有没有错都要记录下来(后台) 3.严重的错误记录下来 4.logging模块的日志级别,总开关小于分开发以总开关为准,总开关大于分开关以分开关为准. 两种书写格式: 格式一: 格式二: 日志输出 上面列表中的日志等级是从上到下依次升高的,即:DEBUG < INFO <…
一.打开网站1.第一步:从selenium里面导入webdriver模块2.打开Firefox浏览器(Ie和Chrome对应下面的)3.打开百度网址二.页面刷新1.有时候页面操作后,数据可能没及时同步,需要重新刷新2.这里可以模拟刷新页面操作,相当于浏览器输入框后面的刷新按钮三.前进和后退1.当在一个浏览器打开两个页面后,想返回上一页面,相当于浏览器左上角的左箭头按钮2.返回到上一页面后,也可以切换到下一页,相当于浏览器左上角的右箭头按钮四.设置窗口大小1.可以设置浏览器窗口大小,如设置窗口大小…
一.元素常用操作 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 Grid介绍 1.概念 Selenium Grid组件专门用于远程分布式测试或并发测试,通过并发执行测试用例的方式可以提高测试用例的执行速度和效率,解决界面自动化测试执行速度过慢的问题 2.可以怎么做 使用此组件可以在一台计算机上给多台计算机(不同操作系统和不同版本浏览器环境)分发多个测试用例从而并发执行,大大提高了测试用例执行效率,基本满足大型项目自动化测试的时限要求和兼容性要求 3.版本 1.0版本 2.0版本,最多可以远程控制5个浏览器 4.工作模式 Selenium…
1.能够有效组织和管理测试脚本 2.进行数据驱动或者关键字驱动的测试 3.将基础的测试代码进行封装,降低测试脚本编写的复杂性和重复性 4.提高测试脚本维护和修改的效率 5.自动执行测试脚本,并自动发布测试报告,为持续集成的开发方式提供脚本支持 6.让不具备编程能力的测试工程师开展自动化测试工作…
一.概 念: PO(Page Object)设计模式是一种面向对象(页面对象)的设计模式,将测试对象及单个的测试步骤封装在每个Page对象中,以page为单位进行管理. 二.优点可以使代码复用,降低维护成本,提高程序可读性和编写效率.可以将页面定位和业务操作分开,分离测试对象(元素对象)和测试脚本(用例脚本),提高用例的可维护性. 三.…
一.查看当前运行的浏览等相关信息 driver=webdriver.Chrome() print(driver.capabilities["version"]) #浏览器版本 print(driver.capabilities["platform"]) #浏览器运行平台 print(driver.capabilities["browserName"]) #浏览器名称 75.0.3770.100 Windows NT chrome 二.自动化测试框…
测试用例模块化特点:为po模型做准备. 1.提取公共方法. 2.提取数据. 3.提取逻辑. # @Author:lsj # @version V1.0 # -*- coding:UTF-8 -*- import unittest from selenium import webdriver from time import sleep from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.s…
多选框 # 随机选择多选框# sports=driver.find_elements_by_name("sport")# maxnum=len(sports)# num=random.randint(0,maxnum-1)# sports[num].click() #encoding=utf-8 from selenium import webdriver from time import sleep import os driver=webdriver.Chrome() url='f…
一.js的滑屏 1)以下脚本实现js滑屏scroll="document.documentElement.scrollTop=800"#垂直滚动 pxscroll = "document.documentElement.scrollLeft=1000"#水平滚动scroll="window.scrollTo(100,500)"#滚动到指定坐标scroll="window.scrollBy(0,100)"#滑动到相对坐标scro…
一.断言 assert cur_title=='百度一下,你就知道1','title断言失败' 'title断言失败':自定义报错 二.截图 # 调用截屏方法(路径+截图名称)driver.get_screenshot_as_file('../image/image.png') from selenium import webdriver from time import sleep import os driver=webdriver.Chrome() # 最大化 driver.maximiz…
自动化测试只要掌握四步操作:获取元素,操作元素,获取返回结果,断言(返回结果与期望结果是否一致),最后自动出测试报告.元素定位在这四个环节中是至关重要的,如果说按学习精力分配的话,元素定位占70%:操作元素10%,获取返回结果10%:断言10%.如果一个页面上的元素不能被定位到,那后面的操作就无法继续了.接下来就来讲webdriver提供的八种基本元素定位方法. WebDriver元素八种定位方式:id.name.class_name.tag_name.link_text.partial_lin…
前言 上一篇Selenium2+python自动化23-富文本(自动发帖)解决了富文本上iframe问题,其实没什么特别之处,主要是iframe的切换,本篇讲解通过js的方法处理富文本上iframe的问题 一.加载配置 1.打开博客园写随笔,首先需要登录,这里为了避免透露个人账户信息,我直接加载配置文件,免登录了. 不懂如何加载配置文件的,看这篇Selenium2+python自动化18-加载Firefox配置 二.打开编辑界面 1.博客首页地址:bolgurl = "http://www.cn…