gpt4 book ai didi

java - Liferay + Vaadin 的 Selenium gui 测试

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:32:31 25 4
gpt4 key购买 nike

我们尝试通过 Selenium 测试 Liferay 6.0.6 的 portlet。我们几乎没有 liferay mvc portlets 和 vaadin portlets。在第一种方法中,我们创建执行以下步骤的测试:

  1. 使用基本结构和 portlet 放置恢复数据库转储
  2. 删除“data”文件夹并将初始数据复制到其中
  3. 从“webapps”文件夹中删除适当的 portlet 文件夹
  4. 将我们的 portlet (*.war) 复制到“部署”文件夹
  5. 启动liferay
  6. 等待 portlet 安装完毕
  7. 转到“控制面板”->“服务器管理”,然后单击“清除此 VM 缓存的内容”,“清除数据库缓存。”,“重新索引所有搜索索引。”

在我们开始 selenium 测试(测试 portlet 行为、通过 vaadin portlet 上传文件、通过 vaadin portlet 批准工作流 (kaleo) 任务等)之后。并且测试在不同的地方失败了:

  1. 有时在通过以下方式上传文件时发生 DuplicateFileException我们的 portlet(但在文档管理器中没有文件)
  2. 有时 Selenium 无法在页面上找到元素
  3. 有时 kaleo 工作流程无法无误地批准所有文件

在 VM 上的 Jenkins 节点上开始测试时,我们会遇到更多不稳定的行为。

您如何测试您的 portlet?有没有办法稳定测试行为?什么是最佳做法?

最佳答案

Some times DuplicateFileException occurs during uploading file via our portlet (but in document manager there are no files)

如果能看到完整的堆栈轨迹会非常有用

Some times Selenium can not find elements on page.

我看到 2 个可能的原因/解决方案:

  1. 如果 portlet 使用 ajax 加载内容,那么您的测试应该等到内容加载完毕,尝试:

    waitForElementPresent(定位器)

  2. 如果您不使用 Vaadin TestBench,请确保为 vaadin 元素设置 debugId:

    setDebugID("aButton");

How do you test your portlets?

我们使用了 Selenium 和 cucumber ,参见:https://projects.savoirfairelinux.com/projects/ctr-liferay/wiki/Portal_-_Testing

关于java - Liferay + Vaadin 的 Selenium gui 测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12176400/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com