最近用一个实际的web项目在学习Webdriver,关于新建一个备份任务的过程,先是有一个父页上button弹开一个子页,总共有4个子页,必须前一个页上的必填信息录完,才能在这个页面触发下一个子页。
如果在baseUrl1第一个子页录完信息,第一个子页有重命名校验和必填项校验。
进入baseUrl2第2个子页,用driver.navigate().to(baseUrl2),直接跳转到第2个页,不受第一个子页的约束,直接导航到第2个页面的输入。
这样会导致什么问题,第一个子页的信息是没有经过校验就进入下一个子页。这样,除了上面的重命名没有校验外,另外信息是否已经进入后台保存也是没有管的,而是直接在前台操作上直接进入下一个页面的操作,导致后台有可能数据丢失的情况,webdriver只管了前台界面的操作。
怎么避免后台数据丢失呢,那么就不能用:driver.navigate().to(baseUrl2)方法,这种方法太危险,不管实际的页面逻辑。
改用:driver.get(driver.getCurrentUrl()),这样通过实际的页面逻辑来获取URL结果,原理是当页面校验在前、后台通过后,点击“下一步”触发第二个子页时,会给出第二个子页的URL地址;如果页面校验在前、后台没有通过,那么就触发不了第二个页面,也就获得不了第二个页的URL地址,那么用driver.getCurrentUrl(),就获得不了最新页面的地址,也就无法跳转到第2个页面。如此,用driver.get(driver.getCurrentUrl())这样操作就保证跟页面的逻辑对应起来。也就不会脚本运行完成后,出现备份任务有时生成有时没有生成的情况。
调整到后面的子页,也是用相同的方法:driver.get(driver.getCurrentUrl());
但到第4个子页调整到父页时就不能用这个方法,因为driver.getCurrentUrl()这个获取不到父页的URL地址。只能再用一下driver.navigate().to(fatherURl),用这个方法,只要保证最后一个子页信息录入不存在丢失情况,就不影响备份任务单据的生成了。
分享到:
相关推荐
Get方法,属于WebDriver的方法,通过WebDriver对象直接调用即可 Navigate方法,属于WebDriver的方法,通过WebDriver对象直接调用即可 例如: //使用get方法来打开慕课网首页 driver.get("https://www.imooc.com"); ...
黑苹果macOS 10.13.6 High Sierra (17G12034) N卡显卡WebDriver-387.10.10.10.40.135.pkg
这是黑苹果专用驱动,可以用在10.13.6上,如果你有更高版本需要使用,可以用Webdriver All Versions 4.1版本进行匹配,经过尝试,10.14.6也可以驱动
用于为macOS 10.13.6 High Sierra (17G8030)版本更新NVIDIA 显卡驱动
在Selenium WebDriver中使用By.Xpath快速定位页面元素,实现多属性定位一个元素。
用于为macOS 10.13.6 High Sierra (17G65)版本更新NVIDIA 显卡驱动
黑苹果N卡驱动
SeleniumIDE中录制的selectFrame、selectWindow命令在Junit中不支持,那么只能使用webdriver自带的命令,如下列: 1.定位到一个frame driver.switchTo().frame("menuFrame"); 2.从一个frame切换到另一个frame,如:...
macOS 10.13.6 High Sierra (17G11023)N卡显卡驱动WebDriver-387.10.10.10.40.134.pkg
由于webdriver在不同的firefox版本中,需要的geckodriver.exe版本也不同,所以需要对照版本下载不同的geckodriver.exe,资源中包括了geckodriver.exe 15、16、19、23 4个版本的资源
config启用Webdriver驱动N卡.plist
可以驱动750ti,我试过了,完美驱动七彩虹750ti
开源应用架构之SELENIUMWEBDRIVER(中).pdf
用于为macOS 10.13.5 High Sierra (17F77)版本更新NVIDIA 显卡驱动
用于为macOS 10.13.6 High Sierra (17G4015)版本更新NVIDIA 显卡驱动
chai-webdriver, 为 chai.js 构建更具表现力的集成测试 为链的断言库提供 selenium sugar 。 允许你创建表达式集成测试:expect('.frequency-field').dom.to.contain.text('One time')expect('.
chromeDriver.exe工具是Chrome的WebDriver,可以用于自动化测试,可以操作浏览器,同时selenium操作chrome浏览器需要有ChromeDriver驱动来协助,支持爬虫
Selenium.WebDriver.3.141.0该版本是最新稳定版的,之前帮同事下过,然后自己电脑nuget安装的时候总是报错,没办法,只好拷过来了
java.lang.IllegalStateException: The path to the driver executable must be set by the webdriver.gecko.driver system property; for more information, see https://github.com/mozilla/geckodriver. The ...
WebDriver 模拟火狐浏览器登录包 selenium-java-2.45.0.jar selenium-java-2.45.0-srcs.jar