v1:不采用任何模式(线性模型)
v1缺点:无法批量运行
使用线性的模型。这意味着测试用例可能会直接与页面上的元素进行交互,在没有采用Page Object模式的线性模型中,测试用例可能会包含大量的细节,例如元素定位器、等待逻辑和操作步骤,这些都会直接写在测试用例中。这样的测试代码可能会变得难以维护,因为任何页面的变化都可能需要修改多个测试用例。
# 导包
from selenium import webdriver
# 获取driver对象
driver = webdriver.Chrome()
# 最大化浏览器
driver.maximize_window()
# 隐式等待
driver.implicitly_wait(30)
# 打开url
driver.get("http://localhost")
# 点击登录连接
driver.find_element_by_partial_link_text("登录").click()
# 输入用户名
driver.find_element_by_css_selector("#username").send_keys("13800001111")
# 输入密码
driver.find_element_by_css_selector("#password").send_keys("123123")
# 输入验证码
driver.find_element_by_css_selector("#verify_code").send_keys("8888")
# 点击登录按钮
driver.find_element_by_css_selector(".J-login-submit").click()
# 获取错误提示信息
msg = driver.find_element_by_css_selector(".layui-layer-content").text
print("msg:", msg)
# 断言
assert msg == "密码错误!"
# 点击提示框确定按钮
driver.find_element_by_css_selector(".layui-layer-btn0").click()
# 关闭
driver.quit()