从零开始设计UI自动化测试框架----在进行多窗口切换UI测试过程中,经常在点击按钮后跳转到新的窗口页面。 遇到这种情况,当前资源的句柄操作仍然是第一个窗口,给自动化测试人员带来很大的不便。 在多窗口切换中,手柄会随着窗口的切换而切换。
举个例子如下
驱动程序=web driver.chrome (驱动程序. get (' https://www.Baidu.com/' ) #地图元素driver.find_element_by_xpath ) ' ' 在地图页面上搜索栏driver.find_element_by_XPath ()/) [@id='sole-input ) (上海) )在百度的主页上此时代码报告错误:
意思是没有被定位在要素的位置。 这是因为句柄资源没有跟随窗口切换。 更改后的代码如下。
第一种切换方式:
驱动程序=web driver.chrome (驱动程序. get (' https://www.Baidu.com/' ) #地图元素driver.find_element_by_xpath ) ' ' 所有窗口的句柄windows _ handles=driver.window _ handle sprint (windows _ handles ) # 在将控制柄切换到当前窗口Driver.switch_to.window的地图页面上,单击搜索栏driver.find_element_by_XPath((/) [ @ id=' sole ]
但是,这个写法很难理解。 接下来,改进为一般切割。 通俗易懂的写法
第二种写法:
驱动程序=web driver.chrome (驱动程序. get (' https://www.Baidu.com/' ) #地图元素driver.find_element_by_xpath ) ' ' 所有窗口的句柄windows _ handles=driver.window _ handle sprint (windows _ handles ) # 将控制柄切换到当前窗口for current _ handleinwindows _ handles=driver.current _ window _ handle : driver.switch _ to . 如果要在地图页面上搜索搜索栏driver.find _ element _ by _ XPath (/* [ @ id=' sole-input ' ] ).send_keys ) '上海',请单击pythohod