Automated tests 模拟不同位置进行自动测试

Automated tests 模拟不同位置进行自动测试,automated-tests,Automated Tests,对于我的一个爱好项目,我正在为一个复杂的网站构建自动测试软件 到目前为止,自动测试软件的作用是: 打开网站 在网站上做事 将结果写入文件 关闭网站 非常直截了当,很有魅力 根据您访问该网站的位置,该网站具有某种行为 为了测试不同类型的位置,我使用ExpressVPN。又像个魔咒了 但是,虽然“在网站上做事情”这一部分需要我付出很多努力,但我希望能够自动更改VPN位置(或者以完全不同的方式完成相同的事情)。有人有什么想法吗?经过更多的谷歌搜索、兔子洞、不眠之夜和反复尝试,我找到了解决办法。这需

对于我的一个爱好项目,我正在为一个复杂的网站构建自动测试软件

到目前为止,自动测试软件的作用是:

  • 打开网站
  • 在网站上做事
  • 将结果写入文件
  • 关闭网站
非常直截了当,很有魅力

根据您访问该网站的位置,该网站具有某种行为

为了测试不同类型的位置,我使用ExpressVPN。又像个魔咒了


但是,虽然“在网站上做事情”这一部分需要我付出很多努力,但我希望能够自动更改VPN位置(或者以完全不同的方式完成相同的事情)。有人有什么想法吗?

经过更多的谷歌搜索、兔子洞、不眠之夜和反复尝试,我找到了解决办法。这需要一些(很多)准备,但如果你像我计划的那样经常使用它,这是值得努力的

准备

  • 下载并安装OpenVPN GUI
  • 从ExpressVPN下载Open VPN的配置文件
  • 根据ExpressVPN中的信息编辑配置文件(使用了一个脚本,但如果您只执行少数操作,可以手动执行)
  • 使用OpenVPN连接到所有服务器(输入凭据),只需执行一次(如果您没有忘记选中“记住密码”框)
实际代码 这是一段非常简单的代码(我知道这段代码既快又脏,必须添加错误处理之类的东西,但我很高兴它能正常工作)

Dim DirectoryListArray()作为字符串
Dim myDir作为字符串
将myFile设置为字符串
作为整数的Dim计数器
Dim strCommand as字符串
作为整数的Dim i
myDir=“C:\Program Files\OpenVPN\bin\”
ReDim DirectoryListArray(1000)
MyFile=Dir$(“C:\Program Files\OpenVPN\config\*.*)
当我的文件“”时执行此操作
DirectoryListArray(计数器)=myFile
myFile=Dir$
计数器=计数器+1
环
ReDim保留目录列表数组(计数器-1)
对于i=1到UBound(DirectoryListArray)
strCommand=“openvpn-gui.exe——命令断开\u所有”
调用Shell(“cmd.exe/c cd/d”和myDir&“&”和strCommand,1)
strCommand=“openvpn-gui.exe——命令连接”&DirectoryListArray(i)
调用Shell(“cmd.exe/c cd/d”和myDir&“&”和strCommand,1)
“在网站上做事

接下来我
网站如何确定用户的位置?为了进行测试,您可以添加URL参数
location
之类的内容,在其中输入一个假位置,然后根据该参数网站会改变其行为。这是一种简单的方法,但我无法更改网站的任何内容,也无法使用URL参数,因为我可以使用VPN模拟不同的位置,我假设/猜测它使用的是从快速谷歌搜索中访问的设备的IP地址,这表明可以在代码中实现,例如,这取决于您使用的编程语言。找到解决方案后,将其作为答案发布