我正在使用PhantomJs和Seleno来实现一些UI测试。但问题是,每当我试图在我的页面上找到一个元素时,它就会抛出一个错误。 “未知命令”
初始化服务器的代码如下:
var projectPath =
new DirectoryInfo(Environment.CurrentDirectory).Parent.Parent.Parent.GetDirectories("Foo")
.First()
.FullName;
var loc = ProjectLocation.FromPath(projectPath);
var service =PhantomJSDriverService.CreateDefaultService();
service.Port= 123;
var phantomJs = new PhantomJSDriver(service);
Func<PhantomJSDriver> newFunc = () => phantomJs;
var app = new WebApplication(loc, 123);
Instance.Run(app, c => c
.UsingLoggerFactory(new ConsoleFactory())
.WithRemoteWebDriver(newFunc)
);
它使用端口123打开iisexpress,PhantomGhost指向同一个端口。 并显示此错误:
未知命令 - 请求=&gt; { “报头”:{ “接受”: “text / html的,应用/ XHTML + xml的,应用/ XML; Q = 0.9, / 的; Q = 0.8”, “接受编码”:” gzip,deflate“,”Accept-Language“:”en-US,en; q = 0.5“,”Cache-Control“:”max-age = 0“,”Connection“:”keep-alive“,”Cookie“ : “ASP.NET_SessionId = a2umglrwcaquccg2rar0vzqa; .ASPXAUTH = 7CBEDA8FC6170B15E116E77016D2136D4F58C8B73B0B2D54149B96847FE8A26E8D8FA24E41E5F0F0AFFE336D896B53C4628AB5B67B1960CB34727C85B6EF9720F7FF2A792BF1B5ECEECE5429DE212D8B7BA948978F302EF9B3A1040F05902AE92280FF8047D380583465D6CE6C6B103E5286F6FE37E75CFE22910E271BE2BEB4B552124B”, “主机”: “本地主机:12346”, “用户代理”:“的Mozilla / 5.0(Windows NT的6.1; WOW64; RV:25.0)壁虎/ 20100101火狐/ 25.0 “},” httpVersion “:” 1.1" , “方法”: “GET”, “URL”: “/”, “urlParsed”:{ “锚”: “”, “查询”: “”, “文件” : “”, “目录”: “/”, “路径”: “/”, “相对的”: “/”, “端口”: “”, “宿主”: “”, “密码”: “”,”用户 “:””, “用户信息”: “”, “权威”: “”, “协议”: “”, “源”: “/”, “queryKey”:{}, “块”:[ “”] }}
我可以使用firefox浏览它,它也显示相同的错误。显然,selenium找不到元素,它会显示错误。
答案 0 :(得分:0)
我发现如果你将PhantomJS升级到最新版本它会解决问题