哪些测试场景需要代理?
若服务面向多国开放,需测试各国差异功能。如语言自动选择、货币与价格显示、支付方式列表、地区限制提示、Cookie同意界面等需通过当地IP访问才能验证。
压力测试或访问限制功能验证等需要多IP并发请求的场景也需代理。可验证服务的IP限流机制是否生效,特定国家屏蔽规则是否正确应用。
还可同步验证地图、支付、广告脚本等第三方服务是否按目标国家正确加载。
测试适合用哪种代理?
对于重复测试,我们推荐使用私有数据中心代理。IP 在计划期间固定不变,可以比较昨天和今天的结果,且带宽和并发连接无限制,浏览器测试也可以轻松运行。
测试仅对家庭用户可见的功能(如反欺诈系统对数据中心流量的特殊处理)时,建议搭配私有ISP代理。需要大量IP并发请求的压力测试则共享数据中心代理更经济。
| 测试 | 推荐产品 | 原因 |
|---|---|---|
| 各国页面·功能测试 | 私有数据中心 | 固定IP重复相同条件 |
| 模拟家庭访问条件测试 | 私有ISP | 互联网服务商IP段 |
| 请求限制·负载测试 | 共享数据中心 | 低价获取大量IP |
| 长期回归测试 | 私有数据中心年度 | 同一IP保持1年 |
如何连接浏览器自动化工具?
Playwright启动浏览器时proxy选项可一次性设置服务器地址、用户名和密码,最为简便。Puppeteer需通过--proxy-server参数传递地址,再通过page.authenticate提交认证信息。
Selenium和Chrome组合不直接接收代理密码,因此使用IP认证更方便。在仪表板中注册测试服务器的IPv4,只需ip:port即可连接,无需用户名和密码。各工具的实际代码在指南页面中整理。
- Playwright: proxy包含server, username, password
- Puppeteer: --proxy-server + page.authenticate
- Selenium + Chrome:使用IP认证,仅需ip:port
- 如果需要SOCKS5,请使用每行对应的SOCKS5端口
如何在CI服务器上运行?
若CI服务器出口IP固定,建议登记到IP授权。无需在仓库或配置文件中存储密码。若IP频繁变动,可将账号密码存入密钥库在测试启动时读取。
测试启动时通过API获取最新代理列表并按国家分类,无需在代码中硬编码IP。GET /proxies接口支持添加国家和协议条件筛选所需条目。
测试结果请保留使用的IP和国家信息。便于快速识别是否特定国家或IP出现故障。
要使结果可信,需要匹配哪些内容?
为每个测试场景预设浏览器语言、时区和屏幕尺寸。这些值若频繁变动,即使相同功能也可能产生波动结果。
如果网络延迟影响测试结果,选择靠近测试服务器的IP位置更好。分别记录代理响应时间和服务的响应时间,可以分析原因。
测试用代理费用是多少?
1个IP的月起始价格为私有数据中心代理$0.4680,私有ISP代理$0.5850,以美元计价。每个国家测试只需几个IP,可以从小的计划开始,持续运行的回归测试可通过年度支付节省30%。
如何创建各国的测试场景?
为每个测试国家建立预期结果对照表便于自动化。例如美国IP应显示美元价格和英文界面,德国IP显示欧元价格和德文界面,日本IP显示日元价格和日文界面。测试代码通过各国代理打开页面与表格自动比对。
将支付方式列表、配送信息、Cookie同意页面等因国家而异的内容放在同一表格中。每次部署新功能时运行相同的场景,可以在发布前发现特定国家的问题。
若进行页面对比测试,应为每个国家建立基准页面,并确保对比样本来自同一IP,以减少无关差异。
- 制作各国预期结果表
- 包含支付、配送、同意页面等国家特定元素
- 每次部署重复相同场景
团队共享时如何管理代理设置?
不要在测试代码中硬编码IP,建议测试启动时通过API按国家获取代理列表。这样更换套餐或新增国家时无需修改代码。API密钥应存放在CI机密仓库,开发者PC端通过环境变量配置更安全。
多团队共用账号时,建议分购套餐避免列表混杂。测试结果中标注套餐和国家信息可快速区分团队归属。
建议在正式测试前添加代理健康检查步骤。通过发送简单请求验证各代理可用性,可区分服务问题与连接故障。
测试时需要注意哪些事项?
压力测试和访问限制测试仅限您运营或获得授权的服务。禁止对其他服务进行压力攻击,违者账号将被封停。