根据《Selenium2 自动化测试实战 基于python语言》文档中的javascript调用章节的描述,以浏览器中的滚动条为实例
浏览器中滚动条,一般在出现注册时的法律条文的阅读时,会用滚动条是否到底部来判断是否阅读完,如果要操作的东西在第二页,会先将滚动条拉到第二页进行操作;
#用javascript来控制浏览器的滚动条的实例练习
# coding="utf-8"
from selenium import webdriver
from time import sleep
driver = webdriver.Firefox()
driver.get("http://www.baidu.com")
try:
#设置浏览器窗口的大小,使窗口出现垂直和水平滚动条
driver.set_window_size(600,600)
#设置浏览器最大化
#driver.maximize_window()
#搜索
driver.find_element_by_id("kw").send_keys("selenium")
driver.find_element_by_id("su").click()
sleep(2)
#通过javascript设置浏览器窗口的滚动条位置
js = "window.scrollTo(100,450);"
driver.execute_script(js)
sleep(3)
#下拉滚动条至页面末尾
#js = "window.scrollTo(0,document.body.scrollHeight);"
#driver.execute_script(js)
except BaseException as msg:
print(msg)
finally:
driver.quit()
PS ~javascript同时也可以对文本框标签进行操作,文本框标签<textarea></textarea>也有对应的id值,但是不能通过send_keys()来向文本框中传值,此时就需要用javascript来操作:
text = "input text"
js = "var sum = document.getElementById("id"); sum.value = ‘“+ text +”’;"
driver.excute_script(js)
说到了浏览器中的滚动条,顺便来写下对于滚动条测试的时候的用例设计:
1.判断滚动条是否最开始在页面中显示,如百度首页刚开始打开全屏访问时没有滚动条显示的,当页面的大小设置为一定比例时滚动条才会出现,并且只是设置页面显示比例的时候,滚动条的位置位于滚动条组件的最顶部;
2.滚动条的长度和宽度是否根据用户显示信息的位置不同而及时变化;
3.拖动滚动条,查看页面内容是否会刷新,是否出现乱码的情况;
4.滚动条是否可用鼠标上的滚轮控制;
5.滚动条的上下按钮是否生效;