Chinaunix首页 | 论坛 | 博客
  • 博客访问: 11377
  • 博文数量: 35
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 360
  • 用 户 组: 普通用户
  • 注册时间: 2022-12-14 16:49
文章分类

全部博文(35)

文章存档

2024年(1)

2023年(28)

2022年(6)

我的朋友

分类: JavaScript

2023-03-07 16:14:12



使用Selenium和PhantomJS模拟浏览器访问是一种非常常见的自动化测试技术,而修改HTTP代理也是一个常见需求,因为有时候我们需要测试在不同地理位置下的网站性能,或者需要绕过一些IP限制等等。

在不重新启动PhantomJS的情况下修改HTTP代理,可以使用PhantomJS的Web Driver服务(PhantomJSDriverService)来实现。具体步骤如下:

1.首先,创建一个PhantomJS驱动服务对象,并设置需要的参数,包括HTTP代理和端口号等等。代码如下:

点击(此处)折叠或打开

  1. PhantomJSDriverService service = new PhantomJSDriverService.Builder()
  2.         .usingPhantomJSExecutable(new File("path/to/phantomjs.exe"))
  3.         .usingAnyFreePort()
  4.         .withProxy("proxy-ip-address:proxy-port")
  5.         .build();

2.然后,使用PhantomJS驱动服务对象创建一个PhantomJS WebDriver对象,如下所示:

点击(此处)折叠或打开

  1. WebDriver driver = new PhantomJSDriver(service);

3.当需要修改HTTP代理时,可以使用PhantomJS WebDriver的executePhantomJS()方法来执行JavaScript代码,以修改HTTP代理。示例代码如下:

点击(此处)折叠或打开

  1. String script = "phantom.setProxy('new-proxy-ip', new-proxy-port);";
  2. ((JavascriptExecutor) driver).executePhantomJS(script);

4.{BANNED}最佳后,当测试完成后,需要关闭WebDriver和服务对象。示例代码如下:

点击(此处)折叠或打开

  1. driver.quit();
  2. service.stop();


通过以上步骤,我们可以在不重新启动PhantomJS的情况下,通过修改HTTP代理来模拟不同的网络环境,从而完成自动化测试。

当然,如果你使用HTTP代理质量不给力,也很难完成自动化测试。工欲善其事必先利其器,所以我们需要挑选到好的HTTP代理才能更有助于我们的工作完成。

那,要如何挑选HTTP代理呢?

首先,我们需要根据自己项目的成本来核算采购HTTP代理的预算是多少,多看看市面上常见的几家价格:快代理、青果网络、小象代理、熊猫代理、阿布云亿牛云等。


这边会给大家一个市面上隧道HTTP代理比较成熟的厂商价格:


HTTP代理类型

分类

代表厂商

通道数

并发请求

月费

隧道代理

定时换IP周期

(1分钟)

快代理

1

5

272

青果网络

10

5

390

小象代理

1

5

399

熊猫代理

1

5

420

阿布云

1

5

429

亿牛云

1

5

399

动态转发

快代理

1

5

388

青果网络

1

5

360

小象代理

1

5

399

熊猫代理

1

5

420

阿布云

1

5

429

亿牛云

1

5

399

? 这边值得一提的是,青果网络的通道数是10,其他几家都是1。

我们根据自己需要的业务场景来选择隧道代理的具体种类,是适合定时切换周期的,还是适合动态转发类型的?适合自己的才是{BANNED}最佳好的。

其次,{BANNED}最佳重要的当然要属:测试

如果我们在购买前做好了测试,会避免很多坑,就拿我针对青果网络的隧道HTTP代理产品做的测试部分截图:




总而言之,效果还是很不错的。


有相关需求的可以去找他们要产品测试。

ps:看重其他厂商的,也建议多测试哈,效果为王!

阅读(136) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~