Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Selenium SPA应用程序中的自动化UI测试不等待页面加载_Selenium_Vue.js_Testing_Single Page Application_Ui Automation - Fatal编程技术网

Selenium SPA应用程序中的自动化UI测试不等待页面加载

Selenium SPA应用程序中的自动化UI测试不等待页面加载,selenium,vue.js,testing,single-page-application,ui-automation,Selenium,Vue.js,Testing,Single Page Application,Ui Automation,我们正在使用Vue.js使用单页应用程序和单页应用程序(SPA,它呈现客户端),并使用Selenium进行UI自动化测试。我不认为我们使用Vue.js和Selenium是个问题,我认为这是使用SPA应用程序进行UI测试时的一个普遍问题 问题 测试在加载DOM之前运行 在SPA中,当导航时,浏览器不会重新加载,因此问题在于测试认为可以直接运行 在服务器端呈现的应用程序(如MVC)中,浏览器在导航到其他页面时会重新加载,只有当浏览器确定页面已加载时,测试才会运行 SPA中的情况并非如此,SPA中的浏

我们正在使用Vue.js使用单页应用程序和单页应用程序(SPA,它呈现客户端),并使用Selenium进行UI自动化测试。我不认为我们使用Vue.js和Selenium是个问题,我认为这是使用SPA应用程序进行UI测试时的一个普遍问题

问题

测试在加载DOM之前运行

在SPA中,当导航时,浏览器不会重新加载,因此问题在于测试认为可以直接运行

在服务器端呈现的应用程序(如MVC)中,浏览器在导航到其他页面时会重新加载,只有当浏览器确定页面已加载时,测试才会运行

SPA中的情况并非如此,SPA中的浏览器(据我所知)无法在页面准备好测试时告知测试

有人能帮忙吗?我正在为浏览器寻找解决方案或事件,以便让测试知道何时可以运行

尝试过的解决方案


我们硬编码了一个等待测试的超时时间(有时有效),但它不能保证每个管道构建都能通过,因为它不能保证每次加载速度相同,也不能保证页面在超时时间到期之前加载。

你能发布一些测试代码吗?可能的解决方案包括使用显式的“wait”s。您用什么语言编写测试?我认为代码不是必需的。忽略我们尝试过的解决方案。我们正在寻找一个全新的解决方案,以了解如何让SPA假加载页面,以便测试仅在被告知页面已准备就绪时运行。我要求查看代码的原因是,您现有的代码可能只需要进行一些小的修改即可开始工作。从我对Selenium的丰富经验来看,“伪造”页面负载绝对不是正确的答案。