我有一个由Django构建的Web应用程序,前端由React构建。我试图用行为和硒测试bdd。我使用Chrome网络驱动程序和phantomjs运行测试,但测试只通过使用chrome传递。我在幻像上运行时捕获了一个截图,并且看到该页面未完全呈现。请提供一些关于这个问题的建议。我是否需要进一步配置以使用phantomjs进行测试。谢谢。BDD - 在Chrome上测试通过,但不在Phantomjs上
0
A
回答
0
尝试在未在Phantomjs上呈现的页面部分上存在的定位符(waitForElementToBePresent)上添加显式等待。
0
你有3种选择:
implicitly_wait:
隐等待意味着,它会等待一个最大的x秒,以搜索元素,所以如果你元素将4后出现如果您将隐式等待时间设置为大于4秒,则秒数会显示在第二位。
创建实例后使用driver.implicitly_wait(x)
。
explicitly_wait:
明确等待意味着它会等待x秒,它会搜索元素之后通过秒钟,如果你设置10秒,4秒后,该元素将出现元素将以6秒的延迟定位。
使用driver.explicitly_wait(x)
创建实例
time.sleep
后,你可以把你的程序睡觉,等待页面提交一些动作后完全加载。
使用time.sleep(x)
提交表单后,单击按钮或加载页面。
1
这是PhantomJS(页面未完全呈现)的常见问题,并且通常不是可以通过显式/隐式等待来修复的问题。为您的代码添加长时间(5秒)的睡眠并拍摄另一张截图。
如果页面已完全呈现,请按照@Alex Lucaci的说明添加(理想情况下)显式等待。
如果页面还没有完全渲染,PhantomJS在这种情况下不会为你工作。就我个人而言,我建议不要使用PhantomJS,因为它有许多方面的问题,但也因为你为什么要在浏览器上测试,没有人使用它作为他们的实际浏览器?
相关问题
- 1. 茉莉花测试通过Chrome和Firefox,但失败PhantomJS
- 2. Karma Chrome测试在Chrome中失败,但传入PhantomJS
- 3. 量角器测试在Firefox上运行但在Chrome上失败
- 4. 量角器测试通过本地但不在Travis-CI上
- 5. 测试在Xcode中通过但在Circle CI上失败
- 6. 测试在命令行上运行MSTest失败,但通过VS2012
- 7. 为什么我的单元测试在Chrome驱动程序上工作,但不是PhantomJS?
- 8. 如何在Android上通过Robotium在画布上测试元素
- 9. 使用WebDriver在Android上测试Google Chrome
- 10. Jmeter测试在GUI上运行,但不在maven上运行
- 11. PHPUnit在命令行上运行硒测试,但不是通过jenkins构建
- 12. Selenium测试在本地机器上运行,但不是通过jenkins运行
- 13. 在Windows上为NodeJJ建议BDD测试框架
- 14. PhantomJS中的单个测试失败,但在Chrome和Firefox中可用
- 15. 如何通过UFT在Chrome和Firefox浏览器上运行测试?
- 16. Chrome正在通过自动化测试软件
- 17. Firefox滚动条,但不在Chrome上
- 18. jHipster:Karma测试通过'纱线测试',但在WebStorm失败
- 19. 在笔记本电脑上通过USB调试android chrome 404页
- 20. android.view.InflateException但只有在Oreo上测试
- 21. 测试失败或随机挂在Travis上PhantomJS
- 22. 在PhantomJS上运行测试时避免使用键盘组合
- 23. Karma茉莉花测试在PhantomJS上运行时失败
- 24. 语义ui过渡在Chrome浏览器上工作,但不在Firefox上
- 25. Actionscript在Flash中测试时工作,但不在html页面上测试?
- 26. JS有条件工作在Chrome上但不在Firefox上
- 27. 修改的CSS3代码在IE上工作,但不在Chrome上
- 28. 测试上completable未来总是通过
- 29. 在phantomjs上找不到的元素但在铬上工作正常
- 30. 我在Chrome中测试过,我需要在Safari中测试吗?