基于Selenium+Python的自动化测试

这篇具有很好参考价值的文章主要介绍了基于Selenium+Python的自动化测试。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

实验目的和要求       

(1)了解Selenium+Python环境搭建及配置,能够了解基于Selenium自动化测试的基本原理;

(2)能够理解基于Selenium自动登录网页的过程,对软件自动化测试过程的原理有一定的理解,为今后从事web自动化测试奠定基础。

实验环境、内容和方法

实验环境

(1)window10操作系统;

(2)python开发环境、Selenium。

内容:

能够安装python,conda及selenium环境,执行简单的自动化web程序。浏览器打开QQ邮箱(或者其他邮箱)登录网址:QQ邮箱登录地址为:https://mail.qq.com/。选择账号密码登录,Selenium的xpath方法定位进入QQ邮箱登录网页,选择元素定位,输入QQ账号和QQ密码,进入写信、发信界面,自动实现邮件发送。

实验过程描述

1.准备工作:安装python,conda,Chrome及pycharm

2.

  1. 创建工程项目pythonDemo-01
基于Selenium+Python的自动化测试,软件测试实验报告,功能测试
  1. 打开终端,使用pip安装selenium : pip install selenium
基于Selenium+Python的自动化测试,软件测试实验报告,功能测试
  1. 查看既存环境:conda env list
基于Selenium+Python的自动化测试,软件测试实验报告,功能测试
  1. 1)浏览器打开QQ邮箱登录网址:QQ邮箱登录地址为:https://mail.qq.com/。打开开发者工具,选择账号密码登录,查看写信元素
基于Selenium+Python的自动化测试,软件测试实验报告,功能测试基于Selenium+Python的自动化测试,软件测试实验报告,功能测试基于Selenium+Python的自动化测试,软件测试实验报告,功能测试基于Selenium+Python的自动化测试,软件测试实验报告,功能测试基于Selenium+Python的自动化测试,软件测试实验报告,功能测试
  1.  Pycharm编写代码实现selenium自动化登录

from selenium import webdriver

from selenium.webdriver.common.by import By

from time import sleep

QQEmail = webdriver.Chrome()

# 设置全局最大等待时长

QQEmail.implicitly_wait(15)

QQEmail.get('https://mail.qq.com/')

# iframe切换

QQEmail.switch_to.frame(QQEmail.find_element(By.XPATH, r'//*[@class="QQMailSdkTool_login_loginBox_qq_iframe"]'))

QQEmail.switch_to.frame('ptlogin_iframe')

# 如果不是密码登录就点密码登录

mm = QQEmail.find_element(By.XPATH, r'//*[@id="switcher_plogin"]')

if mm:

    mm.click()

# 定位账号、密码,并输入

QQEmail.find_element(By.XPATH, r'//*[@id="u"]').send_keys("1538982436@qq.com")

QQEmail.find_element(By.XPATH, r'//*[@id="p"]').send_keys("***********")

# 定位登录按钮

QQEmail.find_element(By.XPATH, r'//*[@id="login_button"]').click()

# 退出到最外层HTML

QQEmail.switch_to.default_content()

QQEmail.switch_to.default_content()

# 定位并点击“写信”

QQEmail.find_element(By.XPATH, r'//*[@id="composebtn"]').click()

# 进入iframe name="mainFrame"

QQEmail.switch_to.frame('mainFrame')

# 定位并填写收件人

QQEmail.find_element(By.XPATH, r'//*[@id="toAreaCtrl"]/div[2]/input').send_keys("1507532636@qq.com")

# 定位并填写主题

QQEmail.find_element(By.XPATH, r'//*[@id="subject"]').send_keys("Hello word!")

# 进入iframe class="qmEditorIfrmEditArea"

QQEmail.switch_to.frame(QQEmail.find_element(By.XPATH, r'//*[@class="qmEditorIfrmEditArea"]'))

# 定位并填写正文

QQEmail.find_element(By.XPATH, r'/html/body').send_keys("今天我就要好好学习哈哈!

")

# 返回到mainframe

QQEmail.switch_to.parent_frame()

# 定位并发送

QQEmail.find_element(By.XPATH, r'//*[@class="btn_gray btn_space"]').click()

QQEmail.quit()

实验结果及分析

实验结果:

基于Selenium+Python的自动化测试,软件测试实验报告,功能测试基于Selenium+Python的自动化测试,软件测试实验报告,功能测试

注意事项:

  1. QQEmail.find_element_by_xpath('//*[@id="u"]')语法已经废弃,需要使用QQEmail.find_element(By.XPATH, r'//*[@id="u"]')
  2. QQ邮箱更新,可能导致一些标签名变换,需要在开发者模式中定位

实验分析:

1. 代码中使用的是Selenium库的WebDriver模块,通过Chrome浏览器驱动来模拟用户操作。首先创建一个Chrome浏览器实例QQEmail,然后设置全局最大等待时长为15秒,接着访问QQ邮箱登录网址。

2. 使用switch_to.frame()方法切换到iframe,以便定位和操作网页元素。首先切换到账号密码登录框所在的iframe,然后切换到写信界面所在的iframe。

3. 判断是否需要切换到密码登录框,如果存在则点击切换。接下来定位账号、密码输入框,并输入相应的QQ账号和密码。

4. 定位登录按钮,并点击进行登录。登录完成后,退出到最外层的HTML,然后定位并点击“写信”按钮。

5. 进入写信界面后,定位收件人输入框,并填写收件人的QQ号码。接着定位主题输入框,并填写邮件的主题。

6. 进入正文编辑区域,定位正文输入框,并填写邮件的正文内容。最后返回到主框架,定位并点击发送按钮,完成邮件发送。

7. 在实验过程中,需要注意一些语法和标签名的变化。例如,find_element_by_xpath()方法已经被废弃,需要使用find_element(By.XPATH, r'//*[@id="u"]')来代替。此外,由于QQ邮箱更新,可能需要在开发者模式中重新定位某些标签。文章来源地址https://www.toymoban.com/news/detail-780543.html

到了这里,关于基于Selenium+Python的自动化测试的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 软件测试 自动化测试selenium API

    1.1.1 CSS 选择器定位元素 CSS 选择器 就是一个语法 浏览器 (ctrl + f)可以进行选择 类选择器:.class值(.s_ipt) id 选择器:#id值(#kw) 父类选择器 子类选择器:父类选择器表达式 子类选择器表达式 标签选择器:标签名(form) 1.1.2 XPath 定位元素 XPath 是一种在XML 文档中定位元

    2024年04月28日
    浏览(51)
  • 软件测试 自动化测试selenium篇(一)

    目录 一、什么是自动化测试  单元测试  接口自动化  UI自动化 二、如何实施自动化测试  自动化测试需要了解的技能 三、selenium介绍 webdriver的工作原理:  四、Selenium+Java环境搭建                    验证环境是否搭建成功 创建java项目,添加pom文件中添加依赖 常见问题

    2024年02月07日
    浏览(69)
  • 软件测试(五)自动化 selenium

    自动化测试指软件测试的自动化,在预设状态下运行应用程序或者系统,预设条件包括正常和异常,最后评估运行结果。将人为驱动的测试行为转化为机器(代码)执行的过程。(简单而言其实就是降低重复性的工作(大部分是Python)) 自动化测试的具体实现,应该是包含下

    2024年02月08日
    浏览(62)
  • 软件测试/测试开发丨Selenium Web自动化测试基本操作

    本文为霍格沃兹测试开发学社学员学习笔记分享 原文链接:https://ceshiren.com/t/topic/26901 模拟功能测试中对浏览器的操作 get方法打开浏览器 refresh方法刷新页面 用back方法回退到上一个界面 maximize_window方法使窗口最大化 minimize_window方法使窗口最小化 标签: a 属性:href 类属性

    2024年02月10日
    浏览(56)
  • 软件测试/测试开发丨Selenium Web自动化测试 高级控件交互方法

    本文为霍格沃兹测试开发学社学员学习笔记分享 原文链接:https://ceshiren.com/t/topic/27045 使用场景 对应事件 复制粘贴 键盘事件 拖动元素到某个位置 鼠标事件 鼠标悬停 鼠标事件 滚动到某个元素 滚动事件 使用触控笔点击 触控笔事件(了解即可) https://www.selenium.dev/documentati

    2024年02月09日
    浏览(99)
  • 【自动化测试】基于Selenium + Python的web自动化框架

    Selenium是一个基于浏览器的自动化工具,她提供了一种跨平台、跨浏览器的端到端的web自动化解决方案。Selenium主要包括三部分:Selenium IDE、Selenium WebDriver 和Selenium Grid:  1、Selenium IDE:Firefox的一个扩展,它可以进行录制回放,并可以把录制的操作以多种语言(例如java,p

    2024年02月07日
    浏览(76)
  • 自动化测试工具Selenium的基本使用方法,软件测试基础

    browser.find_element(By.ID,‘kw’).send_keys(“美女”) browser.find_element_by_id(‘kw’).send_keys(‘性感’) 2.通过标签name属性进行定位 browser.find_element_by_name(“wd”).send_keys(“Linux”) browser.find_element(By.NAME,‘wd’).send_keys(“美女”) 3.通过标签名进行定位 browser.find_element_by_tag_name(“input”).

    2024年04月22日
    浏览(63)
  • 基于Selenium+Python的自动化测试

    (1)了解Selenium+Python环境搭建及配置,能够了解基于Selenium自动化测试的基本原理; (2)能够理解基于Selenium自动登录网页的过程,对软件自动化测试过程的原理有一定的理解,为今后从事web自动化测试奠定基础。 实验环境 : (1)window10操作系统; (2)python开发环境、

    2024年02月03日
    浏览(39)
  • 软件测试自动化Java篇【Selenium+Junit 5】

    为什么选择selenium作为我们的web自动化测试工具? 开源免费 支持多浏览器 支持多系统 支持多语言【Java,Python,C#,Rubby,JavaScript,Kolin】 selenium包提供了很多可供测试使用的API Chrome浏览器 Chrome驱动【驱动器版本要和浏览器版本对应越详细越好】 然后把驱动包放在安装jdk的

    2024年01月18日
    浏览(49)
  • 软件测试/测试开发丨Selenium Web自动化多浏览器处理

    本文为霍格沃兹测试开发学社学员学习笔记分享 原文链接:https://ceshiren.com/t/topic/27185 用户使用的浏览器(firefox,chrome,IE 等) web 应用应该能在任何浏览器上正常的工作,这样能吸引更多的用户来使用 是跨不同浏览器组合验证网站或 web 应用程序功能的过程 是兼容性测试的一个

    2024年02月09日
    浏览(62)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包