如何自动化Swing Java Web Start应用程序,该应用程序运行单击Web应用程序中的链接的 *** 作,该链接由SeleniumWebDriver自动化?

如何自动化Swing Java Web Start应用程序,该应用程序运行单击Web应用程序中的链接的 *** 作,该链接由SeleniumWebDriver自动化?,第1张

如何自动化Swing Java Web Start应用程序,该应用程序运行单击Web应用程序中的链接的 *** 作,该链接由SeleniumWebDriver自动化?
  1. 点击webdriver中的jnlp文件链接,将jnlp文件保存到磁盘;
  2. 从jnlp运行webstart应用;
  3. 捕获打开的应用程序并将其用于测试。

可以通过使用以下库来完成:

  • netx(http://jnlp.sourceforge.net/netx/)-用于从jnlp运行Webstart应用程序
  • uispec4j(http://www.uispec4j.org/)-用于拦截创建的Webstart窗口和 *** 作窗口元素

您可能可以使用其他AWT /
Swing测试工具完成相同的技巧,但是uispec4j允许拦截从jnlp执行的webstart应用程序,您不需要通过调用main()来运行该应用程序,也不需要拥有webstart测试代码存储库中的应用源代码。我在与其他库(包括Jemmy)实现此问题时遇到了问题。

这是对我有用的东西:

import java.io.File;    import javax.swing.JTextField;  import netx.jnlp.JNLPFile;import netx.jnlp.Launcher;import org.junit.Assert;import org.junit.Test;import org.uispec4j.Trigger;import org.uispec4j.UISpecAdapter;import org.uispec4j.UISpecTestCase;import org.uispec4j.Window;import org.uispec4j.interception.WindowInterceptor;public class WebstartTest extends UISpecTestCase {    @Test    public void test() throws Exception {        // click your webdriver link, save the jnlp file to disk        final File file = new File("file.jnlp");        final JNLPFile jnlp = new JNLPFile(file.toURI().toURL());        // adapter is a UISpec4j way to allow capturing windows created in         // non-standard way, exactly what we need.        this.setAdapter(new UISpecAdapter() { @Override public Window getMainWindow() {     return WindowInterceptor.run(new Trigger() {         @Override         public void run() throws Exception {  // running jnlp by netx launcher   Launcher launcher = new Launcher();  launcher.setCreateAppContext(false);  launcher.launch(jnlp);         }     }); }        });        Window w = this.getMainWindow();        // verify if window's components are there        Assert.assertEquals("text", ((JTextField) w.getSwingComponents(JTextField.class)[0]).getText());        // manipulate window components...    }}

注意:uispec4j将截取该窗口,因此它将不可见。对我来说这不是问题,所以我没有调查是否可以看到它。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5490359.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-12
下一篇 2022-12-12

发表评论

登录后才能评论

评论列表(0条)

保存