WebDriver

2024/4/11 19:14:41

web自动化测试第15步:使用js语句

在selenium中,有方法可以运行js语句,这样的话对于一些selenium中没有的操作,或者实际编写UI自动化中遇到的疑难杂症,多了另外一个解决思路!!!简直像是打开了新世界的大门一样。比如我编写ui自动…

web自动化测试第14步:对于cookie的操作

Cookie,有时也用其复数形式 Cookies,指某些网站为了辨别用户身份、进行 session 跟踪而储存在用户本地终端上的数据(通常经过加密)。在自动化测试过程中,我们如果想要进行免登陆操作的话,可以通过写入cooki…

web自动化测试第6步:模拟鼠标操作(ActionChains)

在日常的测试中,经常会遇到需要鼠标去操作的一些事情,比如说悬浮菜单、拖动验证码等,这一节我们来学习如何使用webdriver模拟鼠标的操作 首页模拟鼠标的操作要首先引入ActionChains的包 from selenium.webdriver.common.action_chains impor…

使用webdriver+urllib下载哈哈网所有图片

上次刚刚用webdriver拔取了最近看的小说,并下载到了本地,但是心里并不满足,于是就想下载笑话网站上的图片,由于自动化测试用的selenium库里的webdriver能比较准确的定位元素,并且获取元素的属性, webdrive…

web自动化测试第3步:元素的基础操作和浏览器基础操作

上一节,我们了解了如何定位元素,其实也有涉及对于元素的操作,这一节我们就详细的介绍一下对于元素的操作和对于浏览器的一些操作 1.对于元素的基础操作: clear():清除输入框内的文本 send_ke…

web自动化测试第20步:测试用例断言

在运行测试用例时,需要判断用例是否执行成功,此时需要有一个我们期望的结果来进行验证。这里unittest中,如果一个case执行的过程中报错,或者我们判断结果不符合期望,就会判定此条用例执行失败,判断的条件主…

web自动化测试第22步:POM设计模式的实现

关于pom设计模式(project Object model/PageObject),我的理解是一种底层、逻辑、用例的分层,在项目还没有开发出来时,就可以开始写UI自动化脚本了,在开发完成后,再进行元素定位的适配以及调试;而且也可以多…

web自动化测试第18步:单元测试框架unittest

在了解了ui自动化的方法后,实际应用时需要按照测试用例的形式来书写,否则执行起来太过冗余,这里引入一个测试框架:unittest,使用这个框架中编写用例,会更方便管理和运行。 一、unitest基础写法格式 1.1引…

web自动化测试第17步:深入xpath元素定位详解

一、xpath高级用法基础格式 格式 /轴方法::标签名[标签属性]实例 //div/parent::span[name‘interName’]实例解释: 定位span标签,span标签是div标签的父级,且span标签的name属性值为:interlNmae 二、基础格式详解 2.1层级路径…

web自动化测试第19步:使用unittest运行多个测试用例集

上节课,我们开始使用unittest整合测试用例,但是一个项目中,测试用例会有很多,当有很多的测试文件py脚本时,需要一个测试用例集来统一运行,这里就需要使用unittest中的批量运行来跑脚本。 一、常用方法详解…

Selenium2 入门[4] —— 点击被页面上其他元素遮住的控件

/*** 使用WebDriver点击界面上Button元素时,如果当前Button元素被界面上其他元素遮住了,* 或没出现在界面中(比如Button在页面底部,但是屏幕只能显示页面上半部分),* 使用默认的WebElement.Click()可能会触…

解决:selenium web browser 的版本适配问题

文章目录 解决方案:使用 webdriver manager 自动适配驱动 使用 selenium 操控浏览器的时候报错: The chromedriver version (114.0.5735.90) detected in PATH at /opt/homebrew/bin/chromedriver might not be compatible with the detected chrome ve…

selenium打开火狐浏览器

项目上需求为:甲方OA 系统是IE系统,需要从IE系统点个按钮打开火狐浏览器单点登录跳转到我们的系统 前期解决方案为:打开浏览器就行了,然后就用的是打开本地浏览器,但是由于B/S架构,有别人远程访问我的ip来…

自动化测试项目中的错误总结

在做自动化项目中,会出现很多错误和调试,所以在这里整理总结一下,具体如下: 1.eclipse无法输入中文 这是最开始时,使用eclipse写python时遇到的一个问题,当时困扰了很久。 使用组合快捷键:Ct…

webUI自动化测试框架(三):代码分层-对象库层

前言:做UI自动化,不可避免的要和页面上的元素打交道,有的童鞋可能会选择把页面元素的定位,操作都写在测试代码中,当页面元素比较少,测试代码比较少的情况下还好,但是一旦页面元素多起来&#xf…

webUI自动化测试框架(二):代码分层-基础层

前言:该webUI自动化框架主要分为四层:基础层、对象层、操作层、用例层,每一层负责各自的功能,这样有益于提高代码的可读性,复用性和扩展性。基础层主要封装了一些工具类,如解析xml文件,读取exce…

webUI自动化测试框架(一):简介和Demo入门

前言:selenium和webdriver是目前主流的ui自动化测试框架之一,selenium又称为selenium RC,基本原理为js注入,而webdriver是直接利用了浏览器的native support(厂商支持)来操作浏览器,所以&#x…

Selenium中WebDriver最新Chrome驱动安装教程

😏作者简介:博主是一位测试管理者,同时也是一名对外企业兼职讲师。 📡主页地址:【Austin_zhai】 🙆目的与景愿:旨在于能帮助更多的测试行业人员提升软硬技能,分享行业相关最新信息。…

Selenium2 入门[2] —— 切换FireFox浏览器语言 , 以及浏览器语言验证

关键代码:FirefoxProfile profile new FirefoxProfile();profile.setPreference("intl.accept_languages", locale);profile.setEnableNativeEvents(true);WebDriver driver new FirefoxDriver(profile);完整代码:package com.framework.web…

使用webdriver扒取网站小说(一)-----基础篇

由于之前一直在做手工测试,刚刚接触到自动化测试,并且认识了webdriver这个工具,所以说想用这个工具来搞事情,正巧自动化测试中有读取文本的方法,所以我灵机一动,准备用webdriver来拔取我最近看的小说&#…

web自动化测试第5步:浏览器/页面信息的获取

上一节讲到了如何利用获得的元素来获取元素的信息,这次来说一下如何获取浏览器相关的信息,主要是页面的路径:URL和页面的标题:title比较常用一定要记住 1.获取页面相关信息的方法 current_url :当前页面的URL路径 title&#x…

使用webdriver扒取网站小说(二)-----进阶篇(分层数据驱动)

1.思路构想 上一节主要通过webdriver写了一个demo来写了拔取小说的功能,虽然功能实现了,但是每次拔取不同的小说都要改很多数据,更改起来有很多不方便的地方,所以我们来吧数据层单独放在一起,并加入了日志等功能&…

web自动化测试第4步:页面元素信息(属性)的获取

上一节讲到对于元素的操作和浏览器的常用操作如何通过代码实现,这次来学习如何通过定位元素,来获取元素的信息(元素属性、信息等) 1.获取元素相关的信息 size:元素的大小 text:元素内文本 is_displayed…

web自动化测试第7步:模拟键盘事件(Keys)

对于模拟键盘事件,我们之前的文章中已经有了一些了解,比如基础操作send_keys()方法输入任意值、鼠标事件key_down()、key_up()等,这一节呢,我们也比较简单,我们专门来讲一…

web自动化测试第9步:切换页面frame

在实际的测试中,有时候我们会经常遇到找不到元素的问题,这也是自动化测试中经常会遇到的情况,我一般首先考虑的就是是否由于页面中嵌套了frame,从而导致定位不到元素,如果页面代码中没有iframe层,再根据报错…

Python自动化测试 环境搭建 详解

一、安装Python环境: Python环境目前已被大部分主流操作系统所支持,比如在Linux、Mac、Unix等系统上就自带了Python环境,但在Windows系统上目前还需要自己安装。 1、下载Python Python下载地址:https://www.python.org/downloads…

Selenium WebDriver 写对了但找不到元素(切换界面)

今天遇到的webdriver找不到元素问题 过程: 新开网页,找不到新开网页的elements 原因: 未切换窗口,driver指向初始页 解决办法: 切换 windowsdriver.window_handles #获取当前浏览器的所有窗口 driver.switch_to_…

Selenium+Remote WebDriver+python脚本访问示例

一、环境要求: 1、selenium-server安装,下载地址:Release Selenium 4.16 SeleniumHQ/selenium GitHub 2、python3及pycharm 二、启动selenium-server 下载selenium-server之后,解压到D:\selenium-server目录,然后…

web自动化测试第8步:浏览器不同页签之间的切换(handle)

我们之前在《web自动化测试第3步:元素的基础操作和浏览器基础操作》这一节里最后预留了一个悬念,就是我们通过点击打开了一个新的页面,这时浏览器同时打开了两个页面,我们用close()方法关闭,却是…

web自动化测试第10步:获取浏览器弹窗alert、自定义弹窗以及其操作

在平时的测试中,有时候会遇到弹窗的问题,有的是浏览器弹窗(alert)、有的是自定义弹窗;这节我们主要来讨论一下关于浏览器弹窗和简单的自定义弹窗。 一、关于alert弹窗的方法 备注:部分方法为老写法&#…

web自动化测试第2步:定位元素

这一节,我们介绍一下页面元素定位的八种方式和如何通过火狐和谷歌浏览器获取元素定位信息,减少自己的工作量 1.页面元素的定位方法 上一节我们已经配置好了环境并且可以通过脚本打开浏览器了,说明我们已经打开了自动化测试的大门&#xff0…

webdriver浏览器版本驱动对应以及下载(火狐-谷歌-IE-edge-safari浏览器)

写在前面: 对于webdriver和各个浏览器的版本的对应,我最近发现浏览器驱动的对应在selenium库的源码里都有提及,路径是:python>site-packages>selenium>webdriver>浏览器名称的文件夹>service.py中,里面…

web自动化测试第21步:UI自动化框架结构以及思路

在学会使用unittest后,实际上UI自动化的基础骨架已经搭建起来了,剩下的就是利于这套框架,增添一些我们需要的功能,目前看来,我们已经可以使用此框架来批量运行用例,欠缺的是整体的思路以及一些其他功能细节…

BDD - SpecFlow Page Object Model POM

BDD - SpecFlow Page Object Model引言POM 优势POM 简单实现POM 缓存实现POM 层次实现Parent - Child 关系Component 关系引言 前面文章《 BDD - SpecFlow Web UI 测试实践 》就运用到 Page Object Model,简称 POM,POM 是一种模式,结合 Sele…

web自动化测试第1步:UI自动化了解以及python环境配置

一:UI自动化测试介绍 1.什么样的项目适合做自动化测试 当一个项目稳定下来后,需求变动并不大,并且UI页面也较为稳定不会频繁变动时,这是做自动化的一个前提条件。否则一个需求、UI界面经常变动的项目,你费时费力写好的…

web自动化测试第13步:元素定位(2)(webdriver的所有定位方式详解)

一、webdriver中所有的定位方法介绍 在第二节里,我们就接触了webdriver中的8种基础定位方法,但是当我们在pycharm中打出:driver.find时,代码提示中其实是有18个被选项的,这次我们就来讲讲剩余这10种定位方法都是什么&a…

web自动化测试终篇(28):总结我理解的ui自动化

到了这里,基本上所有关于自动化框架的内容已经完成了,其中我认为web自动化中有三个核心(目的与安排、框架结构、元素定位),在最后这里分享一下我所思考的ui自动化。 一、为什么要做自动化以及如何推进 又回到这个最开…

Selenium2 入门[2] —— WebDrive 简单的小例子,访问百度搜索内容

环境搭建详见之前的blog。 本例子是跳转至百度页面,待页面加载完毕后窗口最大化,然后搜索“试一试百度搜索”,最后在页面加载完毕后退出测试。package demo.test;import org.openqa.selenium.By;import org.openqa.selenium.JavascriptExecut…

webUI自动化测试框架(四):代码分层-操作层及用例层

前面将基础打好了,接下来就是具体的使用了,业务层主要是页面中的各种业务操作,如登录,修改用户信息等,我们把这些操作都封装在业务类中,如登录操作,我们把它封装成一个类,登录的大致…

selenium webdriver环境安装

安装python 网上有很多安装教程,大家自行百度。下载驱动 首先,要确定你的浏览器的版本,根据浏览器及对应的版本,去下载对应版本的驱动。我的是谷歌浏览器,所以我下载的是谷歌驱动。 查看浏览器版本: 下载驱…

web自动化测试第11步:switch_to包详解:切换handle、frame、alert

在之前的三节里,我们分别对窗口切换(handle)、frame切换、弹窗(alert)切换做了详细的解释,但是我们在写代码的时候发现,这些方法都被编辑器划伤了一条横线,但是方法还是可以正常使用…

web自动化测试第16步:WebDriverWait元素等待和全局设置

由于现在部分web应用加载方式的选择,页面会需要一定时间逐渐加载完毕,也就是说有的页面元素先加载出来,有的元素后加载出来。如果直接定位所查找的元素的话,可能会由于此元素尚未加载完毕找不到元素从而报错,由于网络不…

【Python从入门到进阶】38、selenium关于Chrome handless的基本使用

接上篇《37、selenium关于phantomjs的基本使用》 上一篇我们介绍了有关phantomjs的相关知识,但由于selenium已经放弃PhantomJS,本篇我们来学习Chrome的无头版浏览器Chrome Handless的使用。 一、Chrome Headless简介 Chrome Headless是一个无界面的浏览…

Chrome自动升级了,找不到最新版本的webdriver怎么办?

Chrome自动升级了,找不到最新版本的webdriver怎么办? 背景解决办法 背景 我用Selenium开发了Facebook和Linkedin爬虫,有些新需求要调一下,今天启动selenium时有报错,报错如下:selenium.common.exceptions.SessionNotCreatedExce…

PotPlayer结合alist播放网盘视频

目录 1. PotPlayer的下载安装2. 新建专辑3. 测试播放视频总结 欢迎关注 『发现你走远了』 博客,持续更新中 欢迎关注 『发现你走远了』 博客,持续更新中 书接上文 AList挂载工具安装搭建使用教程,快速访问多个网盘的资源(保姆级图…

linux下安装 Chrome 和 chromedriver 以及 selenium webdriver 使用

1 安装 Chrome yum install https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm2 下载 chromedriver # 进入下载目录 cd soft/crawler_tools# 查看chrome 版本号 google-chrome --version# 在chromedriver下载地址中找到对应版本,下载对…

解决ImportError: cannot import name webdriver

原文地址为: 解决ImportError: cannot import name webdriver最近在写一个Python程序的时候,使用from selenium import webdriver,在run的时候却出现ImportError: cannot import name webdriver的提示,但是在Python IDLE里面跑却没有错误。很…

webdriver一些常用方法

前言: 本文主要是记录、总结一些webdriver的基本方法。 首先,导入webdriver库: from selenium import webdriver导入后,第一步创建webdriver对象,这里创建谷歌浏览器的对象: chrome_driver webdriver.C…

python+selenium使用webdriver启动chrome出现闪退现象解决

这两天发现之前开发的爬虫程序出问题了:谷歌浏览器出现打开立即闪退的现象,代码未修改过,检查也没有任何问题! 查看chrome浏览器发现版本更新了 ↑(点击chrome浏览器右上角三个点,最下面帮助→Google Chr…

self: WebDriver, by: str = By.lD, value: Optional[str] = None这是什么意思

1. 概念名称: self: WebDriver, by: str By.lD, value: Optional[str] None 2. 概念定义: 这段代码是Python中Selenium WebDriver API的一部分,用于自动化Web浏览器操作,可以用来模拟人在网页上的操作,比如点击、输入…