Asqatasun and dynamically rendered content

javascript
api
dom
Tags: #<Tag:0x00007fe7b7417278> #<Tag:0x00007fe7b7416ff8> #<Tag:0x00007fe7b7416eb8>

#1

Hi there,
A couple questions!

  1. How does Asqatasun handle javascript rendered components or elements?

For example, I have a website where all the content is dynamically rendered via javascript, although many accessibility scanning tools are not able to analyze these pages because they do not scan the presentation layer.

  1. Is there an API or how are the results delivered? For example, JSON format?

Thanks!


#2

Hello Adam,

First of all, thanks for your interest.

Asqatasun deals with javascript by loading the page into a browser.

We use the webdriver/firefox combinaison to retrieve the content of the page, and thus ensure javascript has been fully executed before testing.

A scenario mode is also provided to emulate user interactions, navigation, or to force the test on different states (very usefull when the URL of the page does not change)

About, the API, we’re currently working on it. There is a branch on our github, that starts to work, but you need to build and run it manually.

As we are still at the conception phase of the API, I’d be interested in knowing what you expect to have as a result.

Hope it helps

Regards

Koj


#3

hi @adamchab,

To complete the answer of @koj, you can look at the documentation:

A small example with this URL https://grigio.github.io/HAgnostic-News/

HTML source : (no js = No content)

<!DOCTYPE html>
<html lang="en">
<head>
<title>HAgnostic News</title><meta charset="utf-8"><meta name="description" content="An Hacker News reader which is available for the Web and as React Native app (Android / iOS)"><meta name="author" content="Luigi maselli"><meta name="viewport" content="width=device-width,initial-scale=1"><meta name="theme-color" content="#ff9800"><link rel="shortcut icon" href="/HAgnostic-News/favicon.ico">
</head>
<body>
<div id="root"></div>
<script type="text/javascript" src="/HAgnostic-News/static/js/main.e3e8261e.js"></script>
</body>
</html>

and here, the HTML used by Asqatasun: