我正在尝试编写一个 Selenium java 程序,该程序将从外部源获取命令。例如,我driver.findElement(By.id("username")).sendKeys("FirstName");
以用户友好的方式在外部编写,因此用户可以在不知道后端代码的情况下创建 selenium 脚本。
将其分为4个部分:
1) identifier type e.g. id
2) identifier e.g. "username"
3) command type e.g. sendKeys
4) input data e.g. "Firstname"
在我的代码中,我使用运行时编译器将字符串编译为代码(我这样做是因为我可以在运行时将整个代码作为字符串操作)这样我可以有一小部分代码来运行外部引用的任何内容源,因此只要正确创建了外部源,此代码将适用于 sendKeys、click 等,无需任何更改。
我能跑
`" String URL2 = \"id\";" + "\n" +
" String URL3 = \"username\";" + "\n" +
" String URL4 = \"sendKeys\";" + "\n" +
" String URL5 = \"Grabhamn\";" + "\n" +
" System.out.println(\"driver.findElement(By.\"+URL2+\"
(\"+URL3+\")).\"+URL4+\"(\"+URL5+\");\");" + "\n" +`
这输出 driver.findElement(By.id(username)).sendKeys(Grabhamn);
,但我的问题是如何在运行时编译器中执行此代码。另外,我需要将代码输出为
driver.findElement(By.id("username")).sendKeys("Grabhamn");
在这些地方包含引号,因为我也没有成功执行此操作。
任何有关如何执行此操作或替代解决方案的信息将不胜感激。