Php Selenium 2 WebDriver:如何验证已接收并满足映像请求?
有没有一种好的方法可以检查Selenium2WebDriver中是否已经收到并用php实现了对图像的GET请求,比如 起初,我认为我可以发出一个XHR请求并向responseText发出警报(),使用assertEquals将预期字符串与实际输出进行比较。很快意识到这是行不通的,因为我想看到我正在测试的页面的网络请求 经过进一步研究,我发现了两种截然不同的可能性:Php Selenium 2 WebDriver:如何验证已接收并满足映像请求?,php,selenium,webdriver,Php,Selenium,Webdriver,有没有一种好的方法可以检查Selenium2WebDriver中是否已经收到并用php实现了对图像的GET请求,比如 起初,我认为我可以发出一个XHR请求并向responseText发出警报(),使用assertEquals将预期字符串与实际输出进行比较。很快意识到这是行不通的,因为我想看到我正在测试的页面的网络请求 经过进一步研究,我发现了两种截然不同的可能性: 首先是captureNetworkTraffic(Sauce实验室支持部门正在等待响应,以确定这是否可行): 第二种选择(我不完全
- 首先是captureNetworkTraffic(Sauce实验室支持部门正在等待响应,以确定这是否可行):
- 第二种选择(我不完全理解)是设置代理服务器
对于stackoverflow我是新手,对于服务器请求我是初学者。提前感谢您的帮助 选项1和选项2相同;您可以使用代理来捕获网络流量 在Webdriver中创建驱动程序实例时,您可以设置代理。这是一个服务器和端口,浏览器将通过它引导所有网络流量。代理可以做很多事情,例如创建模拟响应、操纵请求等,但在您的情况下,您希望代理记录所做的请求、转发到所需的服务器、记录响应,并将响应返回到浏览器 如果您使用类似Browsermob的代理,您可以在测试运行期间查询请求,因为代理具有API(例如,获取浏览器发出的最新请求并断言它是POST) 似乎有一个PHP库来包装与Browsermob实例的交互 所以,在你的测试中
- 启动代理
- 使用代理设置创建驱动程序
- 转到所需页面
- 断言请求是在Browsermob中发出的
当然,另一种更简单的方法可能是通过seleniuml从html获取图像src url,然后使用http客户机在测试中发出get请求。如果它返回一个图像,那么您可以说ing标记的url有效,这对于您的测试来说已经足够好了。谢谢您,Robbie。我对这件事茫然不知所措,现在我更明白你的解释了。如果你觉得它涵盖了你的问题,请接受答案