草庐IT

pytest-selenium

全部标签

Selenium:断言,还能这样

前言在编写自动化测试脚本时,为了使“机器”去自动辨识testcase的执行结果是True还是False,一般都需要在用例执行过程中获取一些信息,来判断用例的执行时成功还是失败。判断成功失败与否,就涉及到断言。webdriver的断言使用有三种模式:操作(action)、辅助(accessors)、断言(assertion)。1、操作(action)模拟用户与Web应用程序的交互,一般用于操作应用程序的状态;如点击链接,选择选项的方式进行工作;如果一个动作执行失败,或是有错误,当前的测试将会停止执行。常见命令如下:open(打开页面)click(点击)clickAndWait(点击并等待)typ

[selenium]关于使用selenium启动safari浏览器

目录1.介绍2.具体配置3.启动代码1.介绍selenium支持多系统多浏览器,当我们在操作chrome或者firefox浏览器时,我们需要安装相应的驱动.这里我们就来说说如何操作safari浏览器吧.其实要操作safari浏览器,也需要下载对应的驱动,但是safari浏览器已经帮助我们安装好了,所以我们只需要做一些配置就好了2.具体配置打开safari浏览器点击safari点击preferences点击Advanced勾选ShowDevelopmenuinmenubar点击Develop勾选AllowRemoteAutomation现在你就可以运行你的代码了,如果遇到需要授权的点击允许就好了

为什么UI自动化难做?—— 关于Selenium UI自动化的思考

在快速迭代的产品、团队中,UI自动化通常是一件看似美好,实际“鸡肋”(甚至绝大部分连鸡肋都算不上)的工具。原因不外乎以下几点:1效果有限通常只是听说过,就想去搞UI自动化的团队,心里都认为「UI自动化」等于「减少人工提高效率」,这固然没什么大错,但是他们也会认为减少的人工成本和提高的效率会非常高,所以会对UI自动化寄予非常高的期望,这就很有问题了。毕竟现实是很残酷的,UI自动化真实的效果并没有那么好。这个效果没那么好通常体现在两个方面:A.本身无法完全满足复杂的业务代码框架除了ID,Name这些常用元素不足,还有些本身框架就比较复杂,需要对开发有非常高的要求才能比较好地添加需要的信息,比如说V

[Selenium]selenium.common.exceptions.WebDriverException: Message: unknown error: Chrome :XXX 报错解决

selenium.common.exceptions.WebDriverException:Message:unknownerror:Chromefailedtostart:crashed. (chromenotreachable) (TheprocessstartedfromchromelocationC:\Users\XXX\AppData\Local\Google\Chrome\Application\chrome.exeisnolongerrunning,soChromeDriverisassumingthatChromehascrashed.)fromseleniumimportwe

接口自动化测试框架搭建:基于python+requests+pytest+allure实现

目录一、接口自动化测试框架需要具备什么功能?二、接口自动化测试框架目录结构三、日志监控文件的信息四、搭建具有企业Logo的定制化报告。众所周知,目前市面上大部分的企业实施接口自动化最常用的有两种方式:1、基于代码类的接口自动化,如:Python+Requests+Pytest+Allure报告定制2、基于工具类的接口自动化,如:Postman+Newman+Jenkins+Git/svnJmeter+Ant+Jenkins+Git/svn而接口自动化离不开接口自动化框架的搭建,大部分测试人员都感觉框架非常神秘,非常遥远。主要是因为大部分的测试人员代码能力比较薄弱;废话不多说:看效果:一、接口自

Selenium之窗口切换

窗口切换1、动作:导致新窗口的出现2、获取:所有窗口的句柄。driver.window_handles #是个列表3、切换:driver.switch_to.window(窗口句柄)获取当前窗口的句柄语法:driver.current_window_handle案例:#获取win_hans=driver.window_handles#列表,按照窗口出现的先后顺序排序#切换到新窗口,进入新的htmldriver.switch_to.window(win_hans[-1])#切回到原来的窗口继续操作driver.switch_to.window(win_hans[0])#关闭切换到的新窗口driv

使用Selenium和Java编写爬虫程序

以下是一个使用Selenium和Java编写的音频爬虫程序,该程序使用了proxy的代码。请注意,这个示例需要在IDE中运行,并且可能需要根据您的系统和需求进行调整。importjava.io.IOException;importjava.util.List;importjava.util.concurrent.TimeUnit;importorg.openqa.selenium.By;importorg.openqa.selenium.WebDriver;importorg.openqa.selenium.WebElement;importorg.openqa.selenium.chrome

Selenium page object模式Python

目录概述优点示例项目结构:基础页面类BasePage业务页面类BaiduHomePage测试类test_baidu:文件工具类file_util运行日志:测试结果:概述在web应用程序的UI中,有一些区域可以与测试交互。页面对象仅将这些对象建模为测试代码中的对象。这减少了重复代码的数量,意味着如果UI发生更改,则只需在一个位置应用修复。页面对象是一种在测试自动化中流行的设计模式,用于增强测试维护和减少代码重复。页面对象是一个面向对象的类,用作AUT页面的接口。然后,每当需要与该页面的UI交互时,测试就会使用该页面对象类的方法。好处是,如果页面的UI发生了更改,则测试本身不需要更改,只需要更改页

selenium打开火狐浏览器

项目上需求为:甲方OA系统是IE系统,需要从IE系统点个按钮打开火狐浏览器单点登录跳转到我们的系统 前期解决方案为:打开浏览器就行了,然后就用的是打开本地浏览器,但是由于B/S架构,有别人远程访问我的ip来尝试时,打开的确是服务器的浏览器,也就是我自己的浏览器,然后又去摸索了一下RemoteWebDriver的用法,然后尝试了几次就此作罢,本地测试都蛮正常,但是部署到小伙伴机器上时各种报错,最后技术方案有待讨论,为此记录一下前期的研究,记录打开火狐浏览器的一些代码和操作步骤maven下载包org.seleniumhq.seleniumselenium-java4.2.2下载火狐浏览器:http

selenium+requests 实现网页跳转登录及爬取

项目背景本项目设立目的是为了通过脚本,实现学校体育场馆的“秒约”。便于同学瞬间抢到热门时间段的体育场。服务器工作峰值时浏览器可能会卡死,因此例如selenium等需要加载浏览器界面的库可能会降低效率。采用requests库直接向服务器发送请求,效率更高。项目的组成部分通过selenium库模拟登录获取cookies如果在预约界面,点击“预约”按钮。然后抓包获取headers、cookies等参数,很有可能只获取的一部分cookies。如果传递的cookies参数不够全面,很有可能重新跳转至登录界面。requests.post()返回的内容如下:(返回跳转到登录网址的代码,而不是原网址内容)而如