【问题标题】:Is it possible to trigger Selenium script based on an event every time automatically是否可以每次自动根据事件触发 Selenium 脚本
【发布时间】:2017-01-27 13:00:00
【问题描述】:

是否可以每次根据事件自动触发 Selenium 脚本。

我的要求是:我有一个来自网络应用程序 A 并填写此表单,然后单击一个按钮。当用户单击此按钮时,selenium 会激活并从网络应用程序 A 获取表单数据并导航到另一个网络应用程序 B 并在网络应用程序 B 上填充相同的数据。

当用户进入应用程序 A 并填充数据然后单击按钮时,应自动激活 Selenium 脚本。

【问题讨论】:

    标签: java selenium selenium-webdriver automated-tests browser-automation


    【解决方案1】:

    您可以实现 selenium 中的 AbstractWebDriverEventListner AbstractWebDriverEventListner

    创建一个扩展AbstractWebDriverEventListner的类并覆盖方法afterClickOn(WebElement element, WebDriver driver)

    Public class IListener extends AbstractWebDriverEventListner{
     public void afterClickOn(WebElement element, WebDriver driver){
     //script to fill form for App B
    

    现在,在执行代码时,应用程序 A 的测试只需调用 IListener 并注册 EventFiringWebDriver,当单击提交按钮时,它将执行在该方法下编写的脚本。

    WebDriver driver=new FirefoxDriver();
    IListener listener=new IListener();
    EventFiringWebDriver edriver=new EventFiringWebDriver(driver);
    listener.register(eDriver);
    //Script to fill form A
    

    现在,当单击将用户带到应用程序 B 的按钮上时,该方法将触发 afterClickOn(WebElement 元素,WebDriver 驱动)

    【讨论】:

    • 我试过这个,发现 selenium 只能处理 selenium 生成的事件。我的情况是: 1. 最终用户只要填写表格并单击按钮,就应该激活 selenium。 2. Selenium 将与 Web 应用程序集成,因此每当用户来执行活动时,应激活 selenium 以进行进一步的工作。 3. 如果多个用户在做同样的事情,那么需要激活 selenium 的多个实例来分别为每个用户做进一步的活动。硒是可能的。我进行了搜索,但没有找到解决方案。
    • 您好,对此会员的问题有解决方案吗? , 如果参数从 App A (Web App) 解析到 App B (Selenium Script) 并且在这种情况下 App B 基于传入的参数调用或触发脚本。 ?
    • @Amit Rajput - 应用程序 A 可能与应用程序 B 完全不同,我说的在更正中,但这是你的设计吗?假设使用从 App A 发送的队列中的消息,然后 App B 将收到消息并触发脚本。我会很感激某人的回应。请查看类似的概念 - stackoverflow.com/questions/63484183/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-03-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-14
    • 2015-11-02
    • 1970-01-01
    相关资源
    最近更新 更多