[Bug] [PageObject] AppiumDriver.findElement() called twice
Mantenedores costumam responder em até 1 dia
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 3/5
- Tempo estimado
- 1-2 dias
- Facilidade para iniciantes
- 45/100
Direção de pesquisa
Comece com a reprodução mínima de HomePage e rastreie PageFactory.initElements por meio de AppiumFieldDecorator, observando as duas requisições /session/{sessionId}/element. O payload não menciona arquivos-fonte nem testes; considera-se concluído quando a busca malsucedida em HomePage.clickLoginBtn não produzir mais requisições duplicadas de elementos.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
[email protected]
[email protected]
java-client v8.5.1 / v8.6.0
class HomePage {
@AndroidFindBy(accessibility = "Not Exists")
WebElement loginBtn;
HomePage(AppiumDriver driver) {
// Timeout is Duration.ZERO or Duration.ofMillis(-1)
PageFactory.initElements(new AppiumFieldDecorator(driver, Duration.ZERO), this);
}
void clickLoginBtn() {
loginBtn.click();
}
}
// Timeout is Duration.ZERO, but "/session/{sessionId}/element" called twice
new HomePage(driver).clickLoginBtn()
2023-10-09 22:44:36:292 - [HTTP] [HTTP] --> POST /session/6591db71-fb19-4037-861e-07c8f9d63252/element
2023-10-09 22:44:36:292 - [HTTP] [HTTP] {"using":"accessibility id","value":"Not Exists"}
2023-10-09 22:44:36:536 - [AndroidUiautomator2Driver@03be (6591db71)] Got response with status 404: {"sessionId":"2d2feb89-50bf-42e1-b196-b2c23e4f7a45","value":{"error":"no such element","message":"An element could not be located on the page using the given search parameters","stacktrace":"io.appium.uiautomator2.common.exceptions.ElementNotFoundException: An element could not be located on the page using the given search parameters\n\tat io.appium.uiautomator2.handler.FindElement.safeHandle(FindElement.java:63)\n\tat io.appium.uiautomator2.handler.request.SafeRequestHandler.handle(SafeRequestHandler.java:59)\n\tat io.appium.uiautomator2.server.AppiumServlet.handleRequest(AppiumServlet.java:277)\n\tat io.appium.uiautomator2.server.AppiumServlet.handleHttpRequest(AppiumServlet.java:271)\n\tat io.appium.uiautomator2.http.ServerHandler.channelRead(ServerHandler.java:68)\n\tat io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:366)\n\tat io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:352)\n\tat io.netty.chann...
2023-10-09 22:44:36:543 - [HTTP] [HTTP] <-- POST /session/6591db71-fb19-4037-861e-07c8f9d63252/element 404 251 ms - 815
2023-10-09 22:44:36:543 - [HTTP] [HTTP]
2023-10-09 22:44:37:057 - [HTTP] [HTTP] --> POST /session/6591db71-fb19-4037-861e-07c8f9d63252/element
2023-10-09 22:44:37:057 - [HTTP] [HTTP] {"using":"accessibility id","value":"Not Exists"}
2023-10-09 22:44:37:309 - [AndroidUiautomator2Driver@03be (6591db71)] Got response with status 404: {"sessionId":"2d2feb89-50bf-42e1-b196-b2c23e4f7a45","value":{"error":"no such element","message":"An element could not be located on the page using the given search parameters","stacktrace":"io.appium.uiautomator2.common.exceptions.ElementNotFoundException: An element could not be located on the page using the given search parameters\n\tat io.appium.uiautomator2.handler.FindElement.safeHandle(FindElement.java:63)\n\tat io.appium.uiautomator2.handler.request.SafeRequestHandler.handle(SafeRequestHandler.java:59)\n\tat io.appium.uiautomator2.server.AppiumServlet.handleRequest(AppiumServlet.java:277)\n\tat io.appium.uiautomator2.server.AppiumServlet.handleHttpRequest(AppiumServlet.java:271)\n\tat io.appium.uiautomator2.http.ServerHandler.channelRead(ServerHandler.java:68)\n\tat io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:366)\n\tat io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:352)\n\tat io.netty.chann...
2023-10-09 22:44:37:311 - [HTTP] [HTTP] <-- POST /session/6591db71-fb19-4037-861e-07c8f9d63252/element 404 255 ms - 815
- Linguagem predominante
- Java
- Estrelas
- 1.3k
- Forks
- 756
- Merge médio
- 1d 18h
- PRs com merge (30d)
- 26
Preparar o ambiente
- Sem Dockerfile nem arquivo Docker Compose
- Tem um modelo de pull request
- Sem guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de appium/java-client
-
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 25/100
appium/java-client#2426 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 30/100
appium/java-client#2368 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 30/100
appium/java-client#2341 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 15/100
appium/java-client#2323 ·
Mantenedores costumam responder em até 1 dia
-
java-client 启动报错Aberta
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 35/100
appium/java-client#2288 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
Todas as issues de appium/java-client
Issues semelhantes
-
human-required sync-failed
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
Azure/osdu-spi-file#63 ·
Mantenedores costumam responder em até 1 dia
-
frontend quick win
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 65/100
CodeForPhilly/benefit-decision-toolkit#571 ·
Mantenedores costumam responder em até 1 dia
-
approved
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 67/100
checkstyle/checkstyle#22129 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
Mantenedores costumam responder em até 1 dia
-
Add Hardcharger JDBC driverTalvez já em andamento @prmoore77 assumiu hoje. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
Mantenedores costumam responder em até 1 dia