使用selenium实现自动化测试教程(软件测试)

使用selenium实现自动化测试教程

题目

测试某个网站登录过程,请根据后续说明进行实验,保存日志文本和过程截图作为实验结果。(基本要求是要会运用selenium的八大元素及其定位操作过程)

  1. 登录某个网站首页,比如 http://www.eteams.cn/
  2. 点击右上角的“登录”按钮
  3. 获取到账号输入框的预填信息并打印(用于判断预填信息是否正确)
  4. 输入账号和密码
  5. 勾选自动登录的复选框(如果有的话)
  6. 点击 “登录”按钮登录系统
  7. 打印出登录后页面的标题信息(用于判断成功登录)
  8. 关闭浏览器。
    实现思路:
  9. 首先输入登录url,用WebDriver模拟打开登录页面;
  10. 然后找到输入用户名和密码的input框;
  11. 模拟填写用户名和密码(用户名和密码可以是不正确的);
  12. 找到点击登录的按钮,模拟点击登录,这样就实现了模拟登录;
  13. 采用WebDriver中的【By.xpath】方法获取Dom元素;
  14. webDriver的每次响应操作都要用sleep()函数加入一个时间间隔。

思路讲解

首先肯定是要下载最新版本的chromedriver.exe文件,下载地址chromedriver.exe

然后最需要注意的是,如何选择对应的网站的标签
比如说对于这个登录按钮,需要找到一个他唯一的样式,或者id,这样自动化的时候,才可以精准找到。
在这里插入图片描述
比如这个id=top-btn-login,然后写这个代码login_button = driver.find_element(By.ID, "top-btn-login"),就可以选中了,一定要是唯一性的。
在这里插入图片描述

代码编写

下面是python解决这个问题的代码,我建议使用python解决这个问题,因为使用java或者别的的话,会陷入各种依赖的版本问题,很麻烦。

运行结果的话就是,模拟用户自动操作,再自动化测试和爬虫里面非常常用。

from selenium import webdriver
from selenium.webdriver.common.by import By
import time

def main():
    # 设置ChromeDriver路径
    driver = webdriver.Chrome(executable_path="E:\chromedriver.exe")

    # 打开ETeams网站主页
    driver.get("http://www.eteams.cn/")

    # 通过元素ID查找登录按钮元素,并点击该按钮以打开登录表单
    login_button = driver.find_element(By.ID, "top-btn-login")
    login_button.click()
    time.sleep(2)

    # 输入用户名和密码
    # 通过XPath查找用户名输入框元素,并输入用户名(将"your_username"替换为实际用户名)
    username_input = driver.find_element(By.XPATH, "//input[@type='text' and @class='ui-input']")
    username_input.send_keys("your_username")
    # 通过XPath查找密码输入框元素,并输入密码(将"your_password"替换为实际密码)
    password_input = driver.find_element(By.XPATH, "//input[@type='password' and @class='ui-input']")
    password_input.send_keys("your_password")

    # 等待2秒以便用户看到已填好的表单
    time.sleep(2)

    # 点击“登录”按钮
    # 通过CSS选择器查找提交/登录按钮,并点击该按钮以完成登录
    submit_button = driver.find_element(By.CSS_SELECTOR, "button.ui-btn.ui-btn-primary.ui-btn-middle.ui-btn-inline.weapp-passport-ui-button.weapp-passport-ui-button-md")
    submit_button.click()

    # 等待5秒以便用户看到已登录页面
    time.sleep(5)

    # 打印登录后的页面标题
    print("已登录页面标题:", driver.title)

    # 关闭浏览器
    driver.quit()

# 运行主函数
if __name__ == "__main__":
    main()

猜你喜欢

转载自blog.csdn.net/qq_51447496/article/details/130708529