实验目的和要求(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.
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() |
实验结果及分析实验结果: 注意事项:
实验分析: 1. 代码中使用的是Selenium库的WebDriver模块,通过Chrome浏览器驱动来模拟用户操作。首先创建一个Chrome浏览器实例QQEmail,然后设置全局最大等待时长为15秒,接着访问QQ邮箱登录网址。 2. 使用switch_to.frame()方法切换到iframe,以便定位和操作网页元素。首先切换到账号密码登录框所在的iframe,然后切换到写信界面所在的iframe。 3. 判断是否需要切换到密码登录框,如果存在则点击切换。接下来定位账号、密码输入框,并输入相应的QQ账号和密码。 4. 定位登录按钮,并点击进行登录。登录完成后,退出到最外层的HTML,然后定位并点击“写信”按钮。 5. 进入写信界面后,定位收件人输入框,并填写收件人的QQ号码。接着定位主题输入框,并填写邮件的主题。 6. 进入正文编辑区域,定位正文输入框,并填写邮件的正文内容。最后返回到主框架,定位并点击发送按钮,完成邮件发送。文章来源:https://www.toymoban.com/news/detail-780543.html 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模板网!