axe DevTools Mobile 27 maart 2024 Release-opmerkingen
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 u de Appium-driver's
page sourcemethode gebruikt om een toegankelijkheidsscan te starten. In plaats daarvan zult u nu de driver'sexecute scriptfunctionaliteit gebruiken. Dit betekent dat u de vrijheid hebt om depage sourcemethode voor andere doeleinden te gebruiken in uw Appium-tests. Let op: wanneer u ons script uitvoert, halen wij automatisch de pagina-bron op. Als u de pagina-bron al hebt opgehaald tijdens uw test, geef deze dan mee bij het uitvoeren van ons script om dubbele ophaling te voorkomen. - U hoeft niet langer een capaciteit in te stellen voor de
key. In plaats daarvan geeft u uw API-sleutel door aan ons script. - Zie de migratiehandleiding om te upgraden van v1.0.0 naar v2.0.0.
- Net begonnen? Zie de Appium-documentatie voor installatie-instructies en voorbeelden.
- We vereisen niet langer dat u de Appium-driver's
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 u een van de onderstaande problemen ondervindt, neem dan contact met ons op via helpdesk@deque.com of support.deque.com. We kunnen u dan op de hoogte brengen zodra het is opgelost of als er een geïdentificeerde oplossing is als er geen vermeld staat.
- axe DevTools Mobile geautomatiseerde tests draaien op native iOS, native Android en React Native applicaties. Neem contact op met uw Deque-vertegenwoordiger voor toegankelijkheidstestoplossingen op uw technische stack.
- Hoewel u mogelijk enkele resultaten krijgt van webviews of gerenderde PDF's, raden we sterk aan om te testen met axe DevTools voor het 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 build wordt geminimaliseerd, zie je een crash met een foutlogboek dat meldt dat een adapter niet gevonden kon worden bij het inloggen op de axe DevTools-bibliotheek. Schakel minimaliseren uit voor je debug-builds met geïmplementeerde axe DevTools. (#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 schermafbeelding ontbreekt op de pagina met scantdetails, kan je app het maken van schermafbeeldingen verhinderen. Vaak gebeurt dit om veiligheidsredenen in je productieapplicatie. Overweeg om deze vereiste te verwijderen voor je testbuild 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();
