版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第3章SeleniumWebDriver的高级应用《自动化测试应用教程(Web+App)》学习目标/Target掌握Select类的使用,能够实现下拉选择框操作掌握弹出框操作的方式,能够处理常见的输入框、确认框和提示框掌握截图操作的方式,能够对脚本执行出错时的窗口进行截图保存掌握获取浏览器窗口句柄的方法,能够实现多窗口切换操作掌握多表单切换的方式,能够定位网页中有frame类型标签的页面元素学习目标/Target掌握元素等待的方式,能够解决因页面元素未加载出来而报错的问题掌握获取、添加、删除Cookie的方式,能够灵活处理Cookie掌握文件的上传与下载的方式,能够实现文件的上传和下载功能掌握执行JavaScript脚本的方式,能够控制浏览器滚动条和处理日期控件章节概述/Summary在第2章中,我们已经初步学习了SeleniumWebDriver的基础应用,并能够为Web项目编写简单的测试脚本。然而在实际的测试项目中还需要对Web项目进行一些高级的操作,例如操作下拉选择框、弹出框、页面截图等,故需要进一步学习Web项目的高级操作。下面将对SeleniumWebDriver的高级应用进行讲解。目录/Contents0102下拉选择框操作弹出框操作03截图操作04多窗口切换05多表单切换目录/Contents0607元素等待Cookie处理08文件上传与下载09执行JavaScript脚本下拉选择框操作3.13.1下拉选择框操作
先定一个小目标!掌握Select类的使用,能够实现下拉选择框操作3.1下拉选择框操作当我们遇到测试网页中的下拉选择框时,该如何让程序自动选择下拉选择框中的选项呢?3.1下拉选择框操作在Web自动化测试过程中,对下拉选择框中的选项进行定位与操作有两种方式。方式1首先定位到要操作的option元素(下拉选择框中的选项),然后执行单击操作。方式2使用SeleniumWebDriver中的Select类定位下拉选择框中指定的选项。3.1下拉选择框操作由于第一种方式操作起来比较烦琐,而第二种方式能更快地对下拉选择框进行操作,所以通常我们会使用第二种方式。在使用第二种方式定位下拉选择框中的指定选项时,需要首先在项目中导入Select类,具体代码如下。fromselenium.webdriver.support.selectimportSelect3.1下拉选择框操作根据索引值定位下拉选择框中的指定选项时,需要调用select_by_index()方法,该方法的语法格式如下。select_by_index(index)#参数index表示下拉选择框中选项的索引值下拉选择框中选项的索引值是从0开始递增的,如果想要选择下拉选择框中的第2个选项,则可以将select_by_index()方法中传递的索引值设置为1,即select_by_index(1)。1.根据索引值定位指定选项3.1下拉选择框操作根据value值定位下拉选择框中的指定选项时,需要调用select_by_value()方法,该方法的语法格式如下。select_by_value(value)参数value表示<select>标签(该标签用于显示一个下拉选择框)中option元素的value属性值。2.根据value值定位指定选项3.1下拉选择框操作例如,在HTML页面中使用<select>标签显示一个下拉选择框的代码如下。<selectname="selecta"id="selectA"><optionvalue="bj">北京</option><optionvalue="sh">上海</option><optionvalue="gz">广州</option><optionvalue="sz">深圳</option></select>上述代码用于显示一个下拉选择框,该下拉选择框中的选项分别是“北京”、“上海”、“广州”和“深圳”,如果想要选择“深圳”选项,该选项对应的option元素的value属性值为“sz”,可以调用select_by_value("sz")方法实现选择“深圳”选项的操作。3.1下拉选择框操作根据文本定位下拉选择框中的指定选项时,需要调用select_by_visible_text()方法,该方法的语法格式如下。select_by_visible_text(text)参数text表示<select>标签中option元素的文本内容。3.根据文本定位指定选项3.1下拉选择框操作下面以一个用户注册页面为例,演示如何使用Select类中提供的3种方式操作页面中“所在城市”的下拉选择框。用户注册页面效果如下图所示。3.1下拉选择框操作使用Select类提供的3种方式,定位“所在城市”下拉选择框中指定选项的具体代码如下。[单击查看源码]弹出框操作3.2
先定一个小目标!3.2弹出框操作掌握弹出框操作的方式,能够处理常见的输入框、确认框和提示框3.2弹出框操作弹出框通常分为3种类型,分别是输入框(prompt)、提示框(alert)和确认框(confirm)。当页面中出现这些弹出框时,我们需要对这些弹出框进行一些操作,然后才能对网页进行下一步操作或浏览网页中的其他内容。在Web自动化测试过程中,如果遇到网页中有弹出框的情况,可以通过SeleniumWebDriver提供的对应方法处理这些弹出框,以便于测试网页中的其他信息。3.2弹出框操作在SeleniumWebDriver中,输入框、提示框和确认框都是Alert类的对象,在处理这些弹出框时,首先需要获取Alert类的对象,获取该对象的语法格式如下。driver.switch_to.alert3.2弹出框操作获取Alert类的对象后,需要调用Alert类的方法对弹出框进行操作,Alert类的常用方法如下表所示。方法说明accept()接收弹出框信息,例如单击弹出框的“确认”按钮dismiss()取消弹出框信息,例如单击弹出框的“取消”按钮send_keys()向弹出框输入信息,该方法只对包含输入框的弹出框有效除了表中介绍的3个常用方法外,Alert类还有一个常用的属性text,该属性用于获取弹出框中的文本信息。3.2弹出框操作<html><head><title></title></head><body><inputtype="button"value="提示框"id="alerta"onclick="alert('我是提示框')"><br/><inputtype="button"value="确认框"id="confirma"onclick="confirm('我是确认框,确定要删除商品信息吗?')"><br/><inputtype="button"value="输入框"id="prompta"onclick="prompt('我是输入框,请输入用户名:')"></body></html>以一个弹出框页面为例,演示如何对页面中弹出的输入框、提示框和确认框进行操作,具体代码如下。3.2弹出框操作将编写好的弹出框页面代码命名为alert.html并保存,然后在浏览器中打开该文件,弹出框页面如下图。单击“提示框”按钮,页面中会弹出一个提示框3.2弹出框操作单击“确认框”按钮,页面中会弹出一个确认框3.2弹出框操作单击“输入框”按钮,页面中会弹出一个输入框3.2弹出框操作下面演示调用Alert类中的text属性,分别获取弹出框页面中提示框、确认框和输入框中的文本信息并输出到控制台,具体代码如下。[单击查看源码]截图操作3.33.3截图操作
先定一个小目标!掌握截图操作的方式,能够对脚本执行出错时的窗口进行截图保存3.3截图操作在自动化测试的过程中,如果测试脚本执行失败,测试人员通常会去查看测试脚本运行的错误信息,分析脚本执行失败的原因。但有时候程序打印的错误信息并不十分明确,测试人员很难判断脚本执行失败的原因。在自动化测试脚本执行的过程中,如果通过截图的方式将测试过程中操作的场景以图片的形式展示出来,测试人员就能更快捷地分析出脚本执行失败的原因。3.3截图操作SeleniumWebDriver提供的获取截图的方法有4个,分别是get_screenshot_as_file()方法、
save_screenshot()方法、
get_screenshot_as_base64()方法和get_screenshot_as_png()方法。3.3截图操作get_screenshot_as_file()方法用于获取页面截图,并将截图保存到指定的路径下,该方法的语法格式如下。get_screenshot_as_file(filename)#参数filename是页面截图的存储路径,该存储路径为绝对路径例如,get_screenshot_as_file(“D:\\baidu.png”),程序调用该方法后,会将页面截图保存在D盘,该页面截图的文件名称为baidu.png。(1)get_screenshot_as_file()方法3.3截图操作save_screenshot()方法用于保存页面截图,该截图文件的后缀名为.png,该方法的语法格式如下。save_screenshot(filename)
#参数filename是页面截图的文件名称save_screenshot()方法与get_screenshot_as_file()方法的作用相同,不同的是save_screenshot()方法将截图保存在项目的根目录中,而get_screenshot_as_file()方法将截图保存在指定的路径下。(2)save_screenshot()方法3.3截图操作get_screenshot_as_base64()方法用于获取页面截图的base64编码字符串,该方法的语法格式如下。get_screenshot_as_base64()get_screenshot_as_png()方法用于获取页面截图的二进制数据,该方法的语法格式如下。get_screenshot_as_png()(3)get_screenshot_as_base64()方法(4)get_screenshot_as_png()方法3.3截图操作下面以闲云旅游网站为例,演示如何调用get_screenshot_as_file()、save_screenshot()、get_screenshot_as_base64()和get_screenshot_as_png()等方法对页面进行截图并保存或输出,具体代码如下。[单击查看源码]多窗口切换3.43.4多窗口切换
先定一个小目标!掌握获取浏览器窗口句柄的方法,能够实现多窗口切换操作3.4多窗口切换多窗口切换是指在页面中弹出的多个新窗口之间切换。每个浏览器窗口都有一个唯一标识,该标识被称为句柄(handle)。多窗口切换主要依赖于浏览器窗口的句柄,通过获取浏览器窗口的句柄来区分不同的窗口,根据获取的窗口句柄实现指定窗口的切换。3.4多窗口切换SeleniumWebDriver提供了2个获取浏览器窗口句柄的属性,分别是current_window_handle和window_handles,这2个属性被调用的示例代码如下。#获取当前窗口的句柄driver.current_window_handle#获取所有窗口的句柄driver.window_handles3.4多窗口切换SeleniumWebDriver还提供了window()方法,该方法用于切换浏览器窗口。window()方法被调用的示例代码如下。#切换到指定窗口driver.switch_to.window(handle)window()方法中传递的参数handle是要切换的指定窗口句柄。3.4多窗口切换下面以京东商城首页为例,演示如何获取京东首页窗口的句柄和浏览器中所有窗口的句柄,然后根据获取的句柄实现切换到指定窗口的功能,具体代码如下。[单击查看源码]多表单切换3.53.5多表单切换
先定一个小目标!掌握多表单切换的方式,能够定位网页中有frame类型标签的页面元素3.5多表单切换多表单切换是对Web页面中包含frame类型标签的页面部分进行的切换。在网页中frame类型的标签是一种表单框架,该类型的标签作用是在当前页面的指定区域中显示另一个页面的元素。3.5多表单切换<frameset><frameset>标签可以在一个页面中设置一个或多个框架,不影响正常的元素定位。<frame><frame>标签是整个页面的框架。<iframe><iframe>标签是页面中内嵌的框架。frame类型的3种标签3.5多表单切换SeleniumWebDriver提供了switch_to.frame()方法来切换带有<iframe>标签的页面,该方法的语法格式如下。switch_to.frame(frame_reference)参数frame_reference可以是frame类型的标签中name属性的值或id属性的值。3.5多表单切换注意需要注意的是,在定位多表单中的元素时,还需要调用default_content()方法返回到主页面,才能对另外一个frame类型的表单中的元素进行定位。3.5多表单切换以一个多表单切换页面为例,演示如何在页面中切换带有<iframe>标签的页面,多表单切换页面如下图所示。页面中包含2个<iframe>标签,当在“注册用户”页面中输入完一个注册账号后,想要在“登录用户”页面中输入登录账号,此时就需要调用switch_to.frame()来切换这2个表单页面。3.5多表单切换下面通过代码演示注册用户页面和登录用户页面的切换操作,具体代码如下。[单击查看源码]元素等待3.63.6.1显式等待
先定一个小目标!掌握元素等待的方式,能够灵活应用显式等待的方法解决因页面元素未加载出来而报错的问题3.6.1显式等待元素等待是指在定位页面元素时,如果没有找到页面元素,测试脚本会在指定时间内一直等待的过程。显式等待指的是定位指定元素时,如果能定位到指定元素,则测试程序直接返回该元素,不触发等待;如果无法定位到指定元素,则需要等待一段时间后再进行定位;如果超过程序设置的最长等待时间还没有定位到指定元素,则程序会抛出超时异常(TimeoutException)。3.6.1显式等待实现显式等待需要调用的方法为WebDriverWait(),由于该方法存在于WebDriverWait类中,所以调用WebDriverWait()方法之前首先要在程序中导入WebDriverWait类,具体代码如下。fromselenium.webdriver.support.waitimportWebDriverWait3.6.1显式等待WebDriverWait()方法的语法格式如下。WebDriverWait(driver,timeout,poll_frequency=POLL_FREQUENCY,ignored_exceptions=None)driver:必选参数,表示浏览器驱动对象。timeout:必选参数,表示超时时间,即最长的显式等待时间,单位为秒。poll_frequency:可选参数,表示查找指定元素间隔的时间,单位为秒。该参数的默认值为常量POLL_FREQUENCY,该常量值为0.5,也就是查找指定元素的时间间隔默认为0.5秒。ignored_exceptions:可选参数,表示可忽略的异常集合。当调用until()方法或until_not()方法时,如果程序抛出的异常是这个集合中的异常,则程序不会中断,会继续等待;如果抛出的是这个集合外的异常,则程序会中断并抛出异常。在这个异常集合中默认只有NoSuchElementException异常。3.6.1显式等待在程序中进行显式等待时,WebDriverWait()方法必须与until()方法或until_not()方法结合使用。until()方法用于调用一个查找元素的匿名函数,如果该函数的返回值为True,表示查找到元素;如果该函数的返回值为False,表示未找到元素;当未找到元素时,程序会每隔一段时间调用一次until()方法来查找元素,直到查找到元素为止。until()方法的语法格式如下。until(method,message='
')method:必选参数,该参数是一个匿名函数,在该函数中调用了查找页面元素的方法。在规定的等待时间内,程序每隔一段时间会调用一次该匿名函数,直到该函数的返回值为True。message:可选参数,表示超时后的异常信息,如果程序超时,则会抛出超时异常TimeoutException,该参数的值会传递到TimeoutException()方法中。3.6.1显式等待如果想要对页面中的“登录”按钮设置显式等待,显式等待的超时时间为5秒,查找元素的间隔时间为0.5秒,“登录”按钮的By.CLASS_NAME属性值为lg-button,那么实现对“登录”按钮设置显式等待的示例代码如下。element=WebDriverWait(driver,5,0.5).until(lambdap:p.find_element(By.CLASS_NAME,"lg-button"))需要注意的是,until()方法中传递的参数是一个匿名函数,在该函数中调用了find_element()方法来查找“登录”按钮,如果该函数的返回值为True,则表示查找到“登录”按钮;如果该函数的返回值为False,表示未找到“登录”按钮。3.6.1显式等待until_not()方法也用于调用一个查找元素的匿名函数,如果该函数的返回值为True,表示查找不到元素;如果该函数的返回值为False,表示查找到元素;当未找到元素时,程序会每隔一段时间调用一次until_not()方法查找元素,直到查找到元素为止。until_not()方法的语法格式如下。until_not(method,message='')使用WebDriverWait()方法与until_not()方法实现“登录”按钮的显式等待,具体示例代码如下。element=WebDriverWait(driver,5,0.5).until_not(lambdap:p.find_element(By.CLASS_NAME,"lg-button"))3.6.1显式等待以闲云旅游网站为例,演示如何对旅游攻略页面中的“写游记”按钮进行显式等待,旅游攻略页面如下图所示。3.6.1显式等待下面演示调用WebDriverWait()方法和until()方法设置“写游记”按钮元素的显式等待,具体代码如下。[单击查看源码]3.6.2隐式等待
先定一个小目标!掌握元素等待的方式,能够灵活应用隐式等待的方法解决因页面元素未加载出来而报错的问题3.6.2隐式等待隐式等待指的是定位页面元素时,如果能定位到元素,则测试程序直接返回该元素,不触发等待;如果定位不到该元素,则需要等待一段时间后再进行定位。如果超过程序设置的最长等待时间还没有定位到指定元素,则程序会抛出元素不存在的异常(NoSuchElementException)。3.6.2隐式等待在程序中设置隐式等待时需要调用implicitly_wait()方法,该方法的语法格式如下。implicitly_wait(timeout)#参数timeout表示隐式等待的最长等待时间,单位为秒。
如果想要在测试代码中设置登录页面的隐式等待,等待的时间为10秒,则该隐式等待的示例代码如下。driver.implicitly_wait(10)3.6.2隐式等待需要注意的是,隐式等待是全局设置,也就是说在测试代码中只要设置了一次隐式等待,则该隐式等待会作用于页面中的所有元素。注意3.6.2隐式等待以闲云旅游网站为例,演示如何对该项目首页中的所有元素进行隐式等待,闲云旅游网站的首页如下图所示。3.6.2隐式等待下面演示对闲云旅游网站的首页中的所有元素进行隐式等待,等待时间为10秒,具体代码如下。fromseleniumimportwebdriverdriver=webdriver.Chrome()#设置隐式等待为10秒driver.implicitly_wait(10)url="/"driver.get(url)driver.maximize_window()city=driver.find_element_by_xpath("//*[@id='__layout']/""div/section/div[2]/div/div[2]/input")city.send_keys("广州")driver.find_element_by_class_name("ell-icon-search").click()driver.quit()多学一招显式等待与隐式等待的区别010203123在程序中设置显式等待时,需要调用WebDriverWait()方法,并且该方法要与until()方法与until_not()结合使用。设置隐式等待时,需要调用的方法为implicitly_wait()。调用的方法不同显式等待只对页面中的指定元素有效,隐式等待对页面中的所有元素都有效。作用域不同设置显式等待的程序超时后,会抛出超时异常TimeoutException。设置隐式等待的程序超时后,会抛出元素不存在的异常NoSuchElementException。超时后,抛出的异常不同3.6.3强制等待
先定一个小目标!掌握元素等待的方式,能够灵活应用强制等待的方法解决因页面元素未加载出来而报错的问题3.6.3强制等待强制等待主要是通过调用sleep()函数让程序休眠一段时间,时间到达后,程序再继续运行。sleep()函数的语法格式如下。sleep(seconds)参数seconds表示程序休眠的时间,也就是强制等待的时间,单位为秒。如果想让程序休眠2秒,则可以直接在程序中调用sleep(2)来实现,即当程序运行到代码sleep(2)时,程序会暂停运行,暂停2秒后,再继续运行其他代码。3.6.3强制等待一般情况下,测试人员在调试脚本代码的过程中,为了容易查看到页面中的每一步操作,会使用强制等待。虽然强制等待的使用方式比较简单,但是如果强制等待的时间设置得太短,页面元素还没加载出来,程序就执行了脚本代码,此时程序仍然会报错;如果强制等待的时间设置得太长,则又会浪费程序的执行时间,影响脚本的整体运行速度,降低自动化测试的效率。因此,在自动化测试的脚本代码中尽量少设置强制等待。Cookie处理3.73.7Cookie处理
先定一个小目标!掌握获取、添加、删除Cookie的方式,能够灵活处理Cookie3.7Cookie处理Cookie是一个客户端技术,该技术主要由Web服务器生成的数据以Cookie的形式保存在浏览器的小文本文件中。当用户通过浏览器访问服务器中的Web资源时,浏览器会自动将之前保存的Cookie数据传递给服务器,服务器通过Cookie数据做出相应的操作。3.7Cookie处理Cookie是以键值对的方式存储数据的,它只能存储少量的数据,不同的浏览器存储Cookie的容量也是不同的,一般不超过4KB。Cookie经常用于存储与用户相关的信息,例如,存储用户的登录状态、用户名和用户密码等信息。3.7Cookie处理在自动化测试的过程中,SeleniumWebDriver提供了get_cookie()、get_cookies()、add_cookie()、delete_cookie()、delete_all_cookies()等方法对Cookie进行获取、添加和删除等操作,其中get_cookie()方法和get_cookies()方法可以通过获取Cookie信息来验证Cookie的正确性。3.7Cookie处理Cookie的获取、添加和删除的具体语法格式如下。#获取指定Cookieget_cookie(name)#获取网站所有Cookieget_cookies()#添加Cookieadd_cookie(cookie_dict)#删除指定Cookiedelete_cookie(name)#删除所有的Cookiedelete_all_cookies()参数name表示Cookie的名称参数cookie_dict表示字典对象3.7Cookie处理下面以百度搜索页面为例,演示如何获取、添加和删除Cookie,具体代码如下。[单击查看源码]文件上传与下载3.83.8文件上传与下载
先定一个小目标!掌握文件的上传与下载的实现方式,能够实现文件的上传和下载功能3.8文件上传与下载1.文件上传当测试页面中的文件上传功能时,通常有两种情况,不同情况的测试方式不同。第一种情况:如果页面中的“上传”按钮是由<input/>标签显示,该标签中的type属性的值为“file”,此种情况可以首先定位“上传”按钮,然后调用send_keys()方法将要上传的文件上传到页面中。3.8文件上传与下载例如,测试一个员工导入页面的上传功能,该页面中的“上传”按钮是由<input/>标签显示,单击“点击上传”按钮,上传E盘中名为image.png的图片,只需要在测试的脚本代码中添加如下代码即可实现文件的上传功能。element=driver.find_element_by_name("file").send_keys("E:\\image.png")3.8文件上传与下载第二种情况:如果页面中的“上传”按钮不是由<input/>标签显示,单击“上传”按钮会弹出一个打开上传文件的对话框,该对话框是Windows系统的一个窗口。由于自动化测试中的脚本代码无法直接对Window窗口进行操作,所以需要借助第三方工具AutoIt来测试文件的上传功能。3.8文件上传与下载AutoIt是一款免费的编译工具,它可以协助Selenium完成Web自动化测试过程中的窗口操作部分。AutoIt工具的工作原理是首先在该工具中编写脚本代码定位Window窗口中的元素属性值,然后将脚本代码编译成可执行的文件,最后在自动化测试过程中,直接调用可执行文件实现文件的上传与下载功能。3.8文件上传与下载(1)安装AutoIt工具首先访问AutoIt官方网站,在AutoIt工具的下载界面中单击“DownloadAutoIt”按钮下载AutoIt工具的安装包,AutoIt工具的下载界面如下图所示。使用AutoIt工具测试文件上传功能的具体步骤如下。3.8文件上传与下载将鼠标放在(Frozen)AutoItv3WindowInfo窗口中的“FinderTool”按钮上,按下鼠标左键并将“FinderTool”按钮上的图标
依次拖动到文件名输入框控件和“打开”按钮控件上,识别输入框控件与“打开”按钮控件,并将识别到这些控件的信息显示在(Frozen)AutoItv3WindowInfo窗口中。(2)识别Windows窗口中的控件3.8文件上传与下载STEP02当Window窗口中的控件识别成功后,在(Frozen)AutoItv3WindowInfo窗口的编辑框区域会显示识别到的控件信息,文件名输入框控件和“打开”按钮控件信息如下图所示。文件名输入框控件信息“打开”按钮控件信息3.8文件上传与下载首先打开AutoIt工具安装目录下的SciTE文件夹,在该文件夹下双击SciTE.exe文件,启动SciTE编辑器,然后根据识别的控件信息,在SciTE编辑器中编写AutoIt脚本,如下图所示。(3)编写AutoIt脚本3.8文件上传与下载首先单击SciTE编辑器菜单栏中的Tools选项,然后选择Go选项,运行AutoIt脚本。(4)运行AutoIt脚本3.8文件上传与下载首先打开AutoIt工具安装目录下的Aut2Exe文件夹,在该文件夹下启动Aut2exe_x64.exe应用程序,弹出Aut2Exev3-AutoItScripttoEXEConverter窗口,如下图所示。设置AutoIt脚本文件的路径选择AutoIt脚本文件的后缀名(5)将AutoIt脚本文件生成后缀名为.exe的文件3.8文件上传与下载下面以一个测试文件上传页面为例,演示如何测试文件的上传功能,测试文件上传页面如下图所示。(6)测试文件的上传功能3.8文件上传与下载下面编写自动化测试脚本代码,并借助AutoIt工具实现测试文件的上传功能,具体代码如下。fromtimeimportsleepfromseleniumimportwebdriverimportosfromselenium.webdriverimportActionChainsdriver=webdriver.Chrome()driver.maximize_window()driver.get("E:/TestProject/upload.html")button_element=driver.find_element_by_name("uploadFile")ActionChains(driver).click(button_element).perform()os.system("D:\\AutoitScript.exe")sleep(2)driver.quit()导入os操作系统接口模块,该模块提供了一些方便使用操作系统相关功能的函数os.system()方法用于执行D盘中的AutoitScript.exe文件3.8文件上传与下载运行测试文件上传功能的代码后,会弹出一个Window窗口,如下图所示。需要注意的是,此时不能关闭Window窗口,需要再次运行AutoIt脚本才能实现自动上传文件的功能。3.8文件上传与下载由于在Web自动化测试的过程中,SeleniumWebDriver没有提供相应的方法来测试文件的下载功能,所以当需要测试文件的下载功能时,可以在程序中添加浏览器的配置项,例如禁止弹出窗口、设置文件下载后的路径等。2.文件下载3.8文件上传与下载下面以访问传智健康后台管理系统为例,在Chrome浏览器中访问系统中的“预约设置”页面来测试下载该页面中的模板文件,“预约设置”页面如下图所示。3.8文件上传与下载下面编写自动化测试脚本代码,实现测试下载传智健康后台管理系统中“预约设置”页面的模板文件,具体代码如下。[单击查看源码]3.8文件上传与下载运行测试下载文件的代码后,打开计算机D盘的downloadFile文件夹,如下图所示。该文件为下载的模板文件,说明在程序中通过添加浏览器的配置项,能够测试文件的下载功能。执行JavaScript脚本3.93.9.1JavaScript脚本控制浏览器滚动条
先定一个小目标!掌握执行JavaScript脚本的方式,能够控制浏览器滚动条3.9.1JavaScript脚本控制浏览器滚动条在浏览网页的过程中,我们经常会遇到页面超过一屏的情况,这时候需要通过滑动滚动条来继续浏览或操作剩余的页面内容,如果在自动化测试中遇到此种情况,可以通过执行JavaScript脚本来操作浏览器的滚动条,实现自动控制浏览器滚动条的效果。3.9.1JavaScript脚本控制浏览器滚动条浏览器的滚动条分为纵向和横向两种,纵向滚动条可以控制浏览器中的页面进行上下滑动;横向滚动条可以控制浏览器中的页面进行左右滑动。3.9.1JavaScript脚本控制浏览器滚动条在JavaScript脚本中,可以通过
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度茶楼与茶叶种植基地合作租赁协议4篇
- 2025年度拆除工程噪声及扬尘控制合同4篇
- 2025年度智能仓储厂房购买及自动化解决方案合同4篇
- 专属2024版月饼销售代理协议版B版
- 二零二五年度绿色能源项目商铺租赁合同样本2篇
- 2024物流企业融资租赁合同
- 2025年度厂房墙地砖节能减排改造项目合同3篇
- 2024版螺旋钢管买卖合同书
- 2025年厂区光伏发电与配电一体化工程承包合同4篇
- 2024照明工程分包合同
- 长链氯化石蜡
- 小学六年级数学解方程计算题
- 春节英语介绍SpringFestival(课件)新思维小学英语5A
- 进度控制流程图
- 2023年江苏省南京市中考化学真题
- 【阅读提升】部编版语文五年级下册第四单元阅读要素解析 类文阅读课外阅读过关(含答案)
- 供电副所长述职报告
- 现在完成时练习(短暂性动词与延续性动词的转换)
- 产品质量监控方案
- 物业总经理述职报告
- 新起点,新发展心得体会
评论
0/150
提交评论