【如何学习Python自动化测试】—— 浏览器操作

简介: 【如何学习Python自动化测试】—— 浏览器操作

4 、 浏览器操作

4.1 浏览器最大化

     Webdriver 打开浏览器后,默认不是最大化,如果需要界面最大化,需要通过 maximize_window()方法来实现,代码如下:

     maximize_window()方法是Selenium WebDriver提供的一个方法,用于将当前浏览器窗口最大化。这个方法可以用于在自动化测试过程中最大化浏览器窗口,以便测试人员或测试工具可以更方便地进行操作和观察测试结果。

from selenium import webdriver
driver=webdriver.Firefox()
driver.maximize_window()
将浏览器最大化

4.2 浏览器的高、宽

     在 webdriver 中,除了可以通过 maximize_window()方法将浏览器最大化之外,也可以自定义界面的大小。

     set_window_size是Selenium WebDriver中的一个方法,用于设置浏览器窗口的大小。可以使用该方法设置窗口的宽度和高度,以像素为单位。方法的语法如下:

driver.set_window_size(width, height)

     其中,width和height分别是要设置的窗口的宽度和高度,可以是整数或浮点数。

     使用该方法可以模拟不同屏幕大小的浏览器窗口,以测试网站在不同分辨率下的显示效果,也可以用于自动化操作时的窗口大小设置。

from selenium import webdriver
driver=webdriver.Firefox()
driver.set_window_size(480,800)
将界面设置高为 800,宽为 480

4.3 浏览器的前进、后退

     在浏览器界面中,可以手动点击前进、后退,实现访问下一个页面或退回到前一个页 面,在 selenium 的 webdriver 中,可以通过 back()方法实现后退,forword()方法实现前进,代码如下:

注意: 当执行back()或forward()方法时,如果没有上一个或下一个页面可以访问,webdriver将会抛出异常。因此,在使用这些方法之前,最好先检查历史记录中是否有足够的页面可以访问。

from selenium import webdriver
导入 webdriver
driver=webdriver.Firefox()
打开 firefox 浏览器
driver.get('http://www.chuangyijia.com/admin/login') 打开 LMD 后台登陆页面
driver.maximize_window()
窗口最大化
WebDriverWait (driver,10).until(expected_conditions.presence_o f_element_located((By.ID,'email')))
显示等待,等待邮箱输入框
driver.find_element_by_id('email').send_keys('lib@163.com') 输入用户名
driver.find_element_by_id('password').send_keys('12345678') 输入密码
driver.find_element_by_css_selector('button.btn').click() 点击登陆
driver.implicitly_wait(3)
隐式等待 3 秒
driver.find_element_by_css_selector('#dashboard-menu > li:nth-child(2) > a:nth-child(1)').click()
点击待审核创意
driver.find_element_by_css_selector('select.span1:nth-child(8)').click()
点击审核状态的下拉框
driver.back()
后退
driver.forword()
前进

4.4 浏览器的关闭

     在自动化测试中,关闭浏览器也是很重要的一步,可以使用WebDriver提供的 quit() 或 close() 方法来关闭浏览器窗口。

  • close():关闭当前窗口,如果当前窗口是最后一个窗口,则整个浏览器会被关闭。
  • quit():退出浏览器,并关闭所有窗口。

     在一个测试结束的时候,往往会将已经打开的浏览器关闭,前面的案例中,很多地方都有用到浏览器的打开,打开方式简单:

from selenium import webdriver
driver=webdriver.Firefox()
打开一个 firefox 浏览器
browser=webdriver.Ie()
打开 ie 浏览器
chrome=webdriver.Chrome()
打开 google 浏览器
driver.quit()

     以下是使用 Python 编写的关闭浏览器的代码示例:

from selenium import webdriver
创建 Chrome 浏览器对象
driver = webdriver.Chrome()
# 执行自动化测试操作,例如打开网页、点击按钮等
# 关闭浏览器窗口
driver.close()
# 退出浏览器
driver.quit()

     当然,在自动化测试中,我们通常会在每个测试用例执行结束后关闭浏览器,可以通过 pytest 等测试框架来实现自动关闭浏览器的功能。


目录
相关文章
|
28天前
|
Web App开发 人工智能 JSON
AutoMouser:AI Chrome扩展程序,实时跟踪用户的浏览器操作,自动生成自动化操作脚本
AutoMouser是一款Chrome扩展程序,能够实时跟踪用户交互行为,并基于OpenAI的GPT模型自动生成Selenium测试代码,简化自动化测试流程。
138 17
AutoMouser:AI Chrome扩展程序,实时跟踪用户的浏览器操作,自动生成自动化操作脚本
|
2月前
|
Python 容器
Python学习的自我理解和想法(9)
这是我在B站跟随千锋教育学习Python的第9天,主要学习了赋值、浅拷贝和深拷贝的概念及其底层逻辑。由于开学时间紧张,内容较为简略,但希望能帮助理解这些重要概念。赋值是创建引用,浅拷贝创建新容器但元素仍引用原对象,深拷贝则创建完全独立的新对象。希望对大家有所帮助,欢迎讨论。
|
2月前
|
Python
Python学习的自我理解和想法(10)
这是我在千锋教育B站课程学习Python的第10天笔记,主要学习了函数的相关知识。内容包括函数的定义、组成、命名、参数分类(必须参数、关键字参数、默认参数、不定长参数)及调用注意事项。由于开学时间有限,记录较为简略,望谅解。通过学习,我理解了函数可以封装常用功能,简化代码并便于维护。若有不当之处,欢迎指正。
|
1月前
|
数据可视化 数据挖掘 大数据
1.1 学习Python操作Excel的必要性
学习Python操作Excel在当今数据驱动的商业环境中至关重要。Python能处理大规模数据集,突破Excel行数限制;提供丰富的库实现复杂数据分析和自动化任务,显著提高效率。掌握这项技能不仅能提升个人能力,还能为企业带来价值,减少人为错误,提高决策效率。推荐从基础语法、Excel操作库开始学习,逐步进阶到数据可视化和自动化报表系统。通过实际项目巩固知识,关注新技术,为职业发展奠定坚实基础。
|
1月前
|
Web App开发 数据采集 JavaScript
Chrome浏览器实例的TypeScript自动化脚本
Chrome浏览器实例的TypeScript自动化脚本
|
2月前
|
Python
Python学习的自我理解和想法(7)
学的是b站的课程(千锋教育),跟老师写程序,不是自创的代码! 今天是学Python的第七天,学的内容是集合。开学了,时间不多,写得不多,见谅。
|
2月前
|
存储 安全 索引
Python学习的自我理解和想法(8)
这是我在B站千锋教育学习Python的第8天,主要内容是元组。元组是一种不可变的序列数据类型,用于存储一组有序的元素。本文介绍了元组的基本操作,包括创建、访问、合并、切片、遍历等,并总结了元组的主要特点,如不可变性、有序性和可作为字典的键。由于开学时间紧张,内容较为简略,望见谅。
|
3月前
|
JavaScript 前端开发 数据处理
模板字符串和普通字符串在浏览器和 Node.js 中的性能表现是否一致?
综上所述,模板字符串和普通字符串在浏览器和 Node.js 中的性能表现既有相似之处,也有不同之处。在实际应用中,需要根据具体的场景和性能需求来选择使用哪种字符串处理方式,以达到最佳的性能和开发效率。
124 63
|
3月前
|
JSON 移动开发 JavaScript
在浏览器执行js脚本的两种方式
【10月更文挑战第20天】本文介绍了在浏览器中执行HTTP请求的两种方式:`fetch`和`XMLHttpRequest`。`fetch`支持GET和POST请求,返回Promise对象,可以方便地处理异步操作。`XMLHttpRequest`则通过回调函数处理请求结果,适用于需要兼容旧浏览器的场景。文中还提供了具体的代码示例。
在浏览器执行js脚本的两种方式
|
3月前
|
算法 开发者
Moment.js库是如何处理不同浏览器的时间戳格式差异的?
总的来说,Moment.js 通过一系列的技术手段和策略,有效地处理了不同浏览器的时间戳格式差异,为开发者提供了一个稳定、可靠且易于使用的时间处理工具。
67 1

热门文章

最新文章