Whi*_*159 11 automated-tests flutter cypress
是否可以使用 Cypress 框架而不是使用 Flutter 提供的内置测试组件来测试 Flutter 应用程序?如果是这样,如果我很了解 Cypress,那么 Flutter 测试的优缺点是什么?
是的,从技术上来说,这是可能的。
这是基本颤振计数器应用程序通过的规范:
describe('Counter app', () => {
beforeEach(() => {
cy.visit('http://localhost:_example_port_/#/')
cy.get('flt-semantics-placeholder').click({force: true})
})
it('Increments on button press', ()=>{
cy.get(`[aria-label="0"]`)
cy.get(`[aria-label="Increment"]`).click()
cy.get(`[aria-label="1"]`)
})
})
Run Code Online (Sandbox Code Playgroud)
解释一下,如果您通过单击隐藏的“flt-semantic-placeholder”元素来启用语义,flutter 会添加屏幕阅读器使用的语义层。带有工具提示和文本的小部件会自动分配 aria 标签,Cypress 可以使用这些标签来查找和单击元素。(您可以使用语义小部件更好地控制这些标签。)
我发现这适用于画布渲染器,但当我尝试在同一次运行中运行多个测试用例时,它崩溃了。因此,使用 html 渲染器,即运行 flutter 进行测试,如下所示:
flutter run -d chrome --web-renderer html --web-port 3443
Run Code Online (Sandbox Code Playgroud)
好的,单击按钮非常简单。其他交互呢?
在字段中输入文本:
非常简单。请参阅此示例。
模拟滚动事件:
简而言之,目前还没有解决方案。请参阅此降价。
模拟拖放:
不见得。请参阅此降价。
现在来说说优点和缺点...
优点:
缺点:
也可以看看:
归档时间: |
|
查看次数: |
1267 次 |
最近记录: |