Axe DevTools Mobile Release-opmerkingen van 27 maart 2024
27 maart 2024
Componentversies
- axe-devtools-android v5.3.0
- axeDevToolsMobile Appium Plugin v2.0.0
Wat is er nieuw?
Appium
- Incompatibele wijziging - Op basis van feedback van klanten hebben we de volgende veranderingen aangebracht om onze Appium-plugin gebruiksvriendelijker te maken.
- We vereisen niet langer dat je de
page source-methode van de Appium-driver gebruikt om een toegankelijkheidsscan te starten. In plaats daarvan gebruik je nu deexecute script-functionaliteit van de driver. Dit betekent dat je de vrijheid hebt om depage source-methode voor andere doeleinden in je Appium-tests te gebruiken. Let op: Wanneer je ons script uitvoert, zullen wij automatisch de paginabron ophalen. Als je tijdens je test de paginabron al hebt opgehaald, geef deze dan door bij het uitvoeren van ons script om te voorkomen dat het tweemaal wordt opgehaald. - Je hoeft niet langer een capaciteit in te stellen voor de
key. In plaats daarvan geef je je API-sleutel door aan ons script. - Zie de migratiehandleiding om te upgraden van v1.0.0 naar v2.0.0.
- Beginnen? Zie de Appium-documentatie voor installatie-instructies en voorbeelden.
- We vereisen niet langer dat je de
Bugfixes
Android
- Er is een probleem opgelost waarbij het lokaal opslaan van resultaten van geautomatiseerde tests niet werkte met Gradle versie 8 of hoger.
Bekende Problemen
Als je een van de onderstaande problemen ervaart, neem dan contact met ons op via helpdesk@deque.com of support.deque.com. We kunnen je dan op de hoogte brengen zodra het is opgelost of van een gevonden workaround als deze niet is vermeld.
- Axe DevTools Mobile geautomatiseerde tests draaien op native iOS-, native Android- en React Native-toepassingen. Neem contact op met je Deque-vertegenwoordiger voor oplossingen voor toegankelijkheidstests op je technologische stack.
- Hoewel je enkele resultaten kunt krijgen van webweergaven of gerenderde PDF's, raden we sterk aan om te testen met Axe DevTools voor Web of Axe Monitor voor de meest uitgebreide toegankelijkheidstests voor het web.
Axe DevTools Mobile voor iOS
Fout in Analyzer Project & Testen op Bundel-ID in 2.8.1
Functionaliteit met het testen van een applicatie op bundelidentifier was gebroken in versie 2.8.1, wat resulteerde in een foutmelding getiteld „Geen doelapplicatiepad gespecificeerd via testconfiguratie: ...“. Update naar 2.8.2 of de nieuwste versie om de fout te verhelpen. Update naar de nieuwste binnen het iOS Analyzer project.
Resultaten tonen voor off-screen SwiftUI apps getest in iOS 17
Met versie 2.8.0 (Bekijk Release-opmerkingen), worden resultaten niet langer gerapporteerd voor weergaven die niet zichtbaar zijn, inclusief off-screen of verborgen door een andere weergave. We hebben ontdekt dat in SwiftUI-applicaties die getest worden in iOS 17, sommige resultaten nog steeds worden getoond. (#1383)
Ondersteunt Dynamische Type-regel niet met iOS 15 Pro simulator
Er is een probleem dat de iPhone 15 Pro simulator beïnvloedt, waardoor de Ondersteunt Dynamische Type-regel niet kan draaien. Als u bent aangemeld voor de Ondersteunt Dynamische Type-regel, kunt u deze niet testen met een iPhone 15 Pro simulator. Er is een bug ingediend bij Apple.
Regels tegen Geneste Gebruikersinterfaces
Terwijl we keken naar een verbetering voor onze regels, ontdekten we dat in XCTest, geneste gebruikersinterfaces niet worden geretourneerd in de toegankelijkheidsstructuur. Er is een bug ingediend bij Apple. (#1110)
False Positive: In Scroll View, ActiveControlName
We werken actief aan oplossingen voor de volgende foutieve positieven en zullen deze lijst bijwerken zodra er oplossingen zijn uitgebracht.
In Scroll View
Er kunnen problemen worden gemeld voor tekst binnen elementen die zich als banners gedragen. Om deze elementen beschikbaar te maken voor degenen die grotere tekst vereisen, gebruik UILargeContentViewer. (#622)
ActiveControlName
Als een UIImageView een `accessibilityIdentifier` heeft ingesteld maar niet focusbaar is door VoiceOver, en het heeft focusbare elementen genest binnenin, kan ActiveControlName een foutief positief resultaat rapporteren op de UIImageView. Het verwijderen van de `accessibilityIdentifier` lost het probleem op. Er is een bug ingediend bij Apple. (#1226)
False Negative: Image View Name, Focusable Text in iOS 13 tot iOS 14.8.1
We werken actief aan oplossingen voor de volgende foutieve negatieven en zullen deze lijst bijwerken zodra er oplossingen zijn uitgebracht.
Image View Name
Als een UIImageView een `accessibilityIdentifier` heeft ingesteld maar niet focusbaar is door VoiceOver, kan ImageViewName een foutief negatief resultaat rapporteren op de UIImageView. Het verwijderen van de `accessibilityIdentifier` lost het probleem op. Er is een bug ingediend bij Apple. (#1226)
Focusable Text
Elementen die als niet-toegankelijk zijn gemarkeerd, kunnen onjuiste resultaten rapporteren als gevolg van een bug in het Apple-framework.
Axe DevTools Mobile voor Android
Crash bij gebruik van Proguard
Als je debug- of testbuild Proguard gebruikt, volg dan de stappen om Deque te negeren in je Proguard-instellingen.
Crash wanneer `minifiedEnabled` is ingesteld op true
Als je je build minimaliseert, zie je een crash met een foutlogboek dat meldt dat een adapter niet kon worden gevonden bij het inloggen op de Axe DevTools-bibliotheek. Schakel het minimaliseren uit voor je debug-builds met Axe DevTools geïmplementeerd. (#729)
Builds met r8 ingeschakeld geven een foutmelding
Een build met r8 ingeschakeld kan proberen de axeDevTools-bibliotheek te minimaliseren, wat resulteert in een foutmelding vergelijkbaar met:
Caused by: java.lang.NullPointerException: throw with null exception at g.b.b.a$a.a(Unknown Source:1) at g.b.b.a$a.a(Unknown Source:0) at g.b.b.a.a(AccessToken.java:190)To resolve this error add the following line to your ProGuard file to keep axeDevTools classes:
keep class com.deque.** { *; }
Foutmelding vergelijkbaar met:
Expected exactly '1' node but found '2' nodes that satisfy: (isRoot)
of: No View initialized, did you call AxeDevToolsCompose.setComposeTestRule()?
Als je een fout tegenkomt zoals `Expected exactly '1' node but found '2' nodes that satisfy: (isRoot)` of `No View initialized, did you call AxeDevToolsCompose.setComposeTestRule()?`, raadpleeg dan de Compose setTestTag API.
Axe DevTools Mobile Dashboard
Ontbrekende schermafbeelding
Als de screenshot ontbreekt op de scangegevenspagina, kan het zijn dat je app het maken van screenshots verhindert. Dit is vaak om veiligheidsredenen in je productieapplicatie. Overweeg om deze vereiste voor je testbuild te verwijderen om volledige functionaliteit in het Axe DevTools Mobile Dashboard mogelijk te maken.
Sommige Android-scan namen zijn niet opgemaakt
Sommige Android-scan namen die standaard worden ingesteld op de schermtitel, zullen verschijnen als de volledige klasnaam inclusief de bundelidentifier. In een toekomstige release wordt dit opgelost zodat de schermtitel wordt geformatteerd tot een beter leesbare naam. Als tijdelijke oplossing kun je de scan naam instellen vanaf het dashboard of vanuit frameworks. (#1643)
Axe DevTools Mobile voor Appium
Vals Positief: Actieve View Naam
Vanwege beperkingen in informatie beschikbaar via het Appium-platform, hebben we een vals positief geïdentificeerd voor Actieve View Naam bij gebruik van de labeledBy eigenschap om een label voor een knop element te bieden. We onderzoeken oplossingen en verwachten een oplossing in een toekomstige release.
React Native & .NET MAUI: Label In Naam & Label Aan Voorkant
Vanwege beperkingen in informatie beschikbaar via het Appium-platform, hebben we geïdentificeerd dat de regels Label In Naam & Label Aan Voorkant niet kunnen worden uitgevoerd voor apps gebouwd met React Native. We onderzoeken oplossingen en verwachten een oplossing in een toekomstige release.
React Native: Inspecteer View Hiërarchie Toont Vorig Scherm
Soms heeft de Appium-page source property extra tijd nodig om bijgewerkt te worden tussen scans. Als dit gebeurt, zie je de view hiërarchie van een vorig scherm wanneer je de inspectiefunctie op het dashboard gebruikt. Om dit op te lossen, voeg een korte timeout toe voordat je de page source API aanroept om de toegankelijkheidsscan te starten. Voorbeeld:
await driver.pause(1000);
const result = await driver.getPageSource();
