对网站的个人信息修改进行自动化测试,python+selenium实现

测试网站是搭建在本地的开源电商网站,对网站的个人信息修改进行自动化测试
操作内容包括:登录网站、进入个人资料,修改个人信息,修改后输出修改成功与否。
技术点:

  1. 对日历的修改
    查看页面的HTML代码,日历是输入框,但是readonly的属性,不能直接输入,需要修改javascript
  2. 智能显示等待(浏览器,最长等待时间,每几秒检查一次)
    WebDriverWait(driver,30,0.5).until(expected_conditions.alert_is_present())
    每隔0.5秒检查是否有alert弹出框,有则执行下面的代码
from selenium import webdriver
from selenium.webdriver.support import expected_conditions
from selenium.webdriver.support.wait import WebDriverWait

driver=webdriver.Chrome()
driver.implicitly_wait(5)
driver.maximize_window()
driver.get("http://localhost:8077")

driver.find_element_by_link_text("登录").click()
new_win=driver.window_handles[-1]
driver.switch_to.window(new_win)
driver.find_element_by_id("username").send_keys("xiaobing")
driver.find_element_by_id("password").send_keys("123456")
#submit方法,类似于click。只能用于form表单中
driver.find_element_by_id("username").submit()   #相当于定位登录按钮并点击的操作
#点击账号设置
driver.find_element_by_link_text("账号设置").click()
# 点击个人资料
driver.find_element_by_partial_link_text("人资").click()   #定位链接文本中的部分内容
# 修改真实姓名
driver.find_element_by_id("true_name").clear()
driver.find_element_by_id("true_name").send_keys("菜小饼")
# 选择性别
driver.find_element_by_css_selector("[value='2']").click()  #只有value值唯一,在value=“2” 两边加 []
#driver.find_element_by_css_selector('[value="2"]').click()   单引号和双引号效果一样
# 输入生日
# 删除日历输入框readonly属性
javascript='document.getElementById("date").removeAttribute("readonly")'
driver.execute_script(javascript)
#删除默认日期,输入日历
driver.find_element_by_id("date").clear()
driver.find_element_by_id("date").send_keys("2000-01-01")
#输入QQ
driver.find_element_by_id("qq").clear()
driver.find_element_by_id("qq").send_keys("12345688")
#点击确定
driver.find_element_by_css_selector('[value="确认"]').click()  #'确认'属性唯一,可用css_selector
#弹出框的确定按钮
# time.sleep(3)
#智能显示等待(浏览器,最长等待时间,每0.5秒检查一次)
WebDriverWait(driver,30,0.5).until(expected_conditions.alert_is_present())
info=driver.switch_to.alert.text
print(info)
driver.switch_to.alert.accept()

你可能感兴趣的:(WEB自动化测试)