Salva i risultati della scansione localmente
Quando si salvano i risultati della scansione in locale, è possibile utilizzare il risultato JSON per integrare le metriche di accessibilità in diversi strumenti di reporting. Puoi anche creare un report HTML da condividere via e-mail o chat per informare il tuo team sullo stato di accessibilità del test eseguito.
Il salvataggio dei risultati in locale è solo supportato nei test automatizzati.
Salva e condividi i risultati
Crea una directory 'reports' nella sua directory home in cui salverà i risultati JSON. Consulti gli esempi seguenti.
Ruby
require 'json'
require 'fileutils'
#
# Set up driver and capabilities here before scanning
#
# Start Scan Here
axeSettings = { apiKey: '<your-api-key-here>' }
scanResult = @driver.execute_script 'mobile: axeScan', axeSettings
# Convert result to JSON string
json_result = JSON.pretty_generate(scanResult)
# Create timestamp for filename
timestamp = Time.now.strftime('%Y-%m-%dT%H-%M-%S')
filename = "axe-scan-result-#{timestamp}.json"
# Create reports directory
reports_dir = File.join(Dir.home, 'reports', 'axeScans')
FileUtils.mkdir_p(reports_dir)
# Save to file
filepath = File.join(reports_dir, filename)
File.write(filepath, json_result)
puts "Axe scan result saved to: #{filepath}"JavaScript
const fs = require('fs');
const path = require('path');
//
// Set up driver and capabilities here before scanning
//
// Start axeScan
const axeSettings = { apiKey: '<your-api-key-here>' }
const scanResult = await driver.execute('mobile:axeScan', axeSettings)
// Convert result to JSON string
const jsonResult = JSON.stringify(scanResult, null, 2);
// Create timestamp for filename
const timestamp = new Date().toISOString().replace(/[:.]/g, '-');
const filename = `axe-scan-result-${timestamp}.json`;
// Create reports directory
const reportsDir = path.join(require('os').homedir(), 'reports', 'axeScans');
fs.mkdirSync(reportsDir, { recursive: true });
// Save to file
const filepath = path.join(reportsDir, filename);
fs.writeFileSync(filepath, jsonResult, 'utf8');
console.log(`Axe scan result saved to: ${filepath}`);Python
import json
from datetime import datetime
from pathlib import Path
#
# Set up driver and capabilities here before scanning
#
# Start axeScan
axeSettings = { 'apiKey': '<your-api-key-here>' }
scan_result = driver.execute_script('mobile: axeScan', axeSettings)
# Convert result to JSON string
json_result = json.dumps(scan_result, indent=2)
# Create timestamp for filename
timestamp = datetime.now().strftime('%Y-%m-%dT%H-%M-%S')
filename = f"axe-scan-result-{timestamp}.json"
# Create reports directory
reports_dir = Path.home() / 'reports' / 'axeScans'
reports_dir.mkdir(parents=True, exist_ok=True)
# Save to file
filepath = reports_dir / filename
filepath.write_text(json_result, encoding='utf-8')
print(f"Axe scan result saved to: {filepath}")Java
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.Map;
//
// Set up driver and capabilities here before scanning
//
// Start axeScan
Map<String, String> axeSettings = Map.of("apiKey", "<your-api-key-here>");
Object scanResult = driver.executeScript("mobile: axeScan", axeSettings);
// Convert result to JSON string
Gson gson = new GsonBuilder().setPrettyPrinting().create();
String jsonResult = gson.toJson(scanResult);
// Create timestamp for filename
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH-mm-ss");
String timestamp = LocalDateTime.now().format(formatter);
String filename = "axe-scan-result-" + timestamp + ".json";
// Create reports directory
Path reportsDir = Paths.get(System.getProperty("user.home"), "reports", "axeScans");
Files.createDirectories(reportsDir);
// Save to file
Path filepath = reportsDir.resolve(filename);
Files.write(filepath, jsonResult.getBytes());
System.out.println("Axe scan result saved to: " + filepath.toString());Kotlin
import com.google.gson.Gson
import com.google.gson.GsonBuilder
import java.nio.file.Files
import java.nio.file.Paths
import java.time.LocalDateTime
import java.time.format.DateTimeFormatter
//
// Set up driver and capabilities here before scanning
//
// Start axeScan
val axeSettings = mapOf("apiKey" to "<your-api-key-here>")
val scanResult = driver.executeScript("mobile: axeScan", axeSettings)
// Convert result to JSON string
val gson = GsonBuilder().setPrettyPrinting().create()
val jsonResult = gson.toJson(scanResult)
// Create timestamp for filename
val formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH-mm-ss")
val timestamp = LocalDateTime.now().format(formatter)
val filename = "axe-scan-result-$timestamp.json"
// Create reports directory
val reportsDir = Paths.get(System.getProperty("user.home"), "reports", "axeScans")
Files.createDirectories(reportsDir)
// Save to file
val filepath = reportsDir.resolve(filename)
Files.write(filepath, jsonResult.toByteArray())
println("Axe scan result saved to: $filepath")C#
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.IO;
//
// Set up driver and capabilities here before scanning
//
// Start axeScan
var axeSettings = new Dictionary<string, object> { { "apiKey", "<your-api-key-here>" } };
var scanResult = _driver.ExecuteScript("mobile: axeScan", axeSettings);
// Convert result to JSON string
string jsonResult = JsonConvert.SerializeObject(scanResult, Formatting.Indented);
// Create timestamp for filename
string timestamp = DateTime.Now.ToString("yyyy-MM-ddTHH-mm-ss");
string filename = $"axe-scan-result-{timestamp}.json";
// Create reports directory
string reportsDir = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.UserProfile),
"reports", "axeScans");
Directory.CreateDirectory(reportsDir);
// Save to file
string filepath = Path.Combine(reportsDir, filename);
File.WriteAllText(filepath, jsonResult);
Console.WriteLine($"Axe scan result saved to: {filepath}");Usa i risultati per la reportistica
Utilizzare axe DevTools Reporter CLI per creare un report HTML da un set di scansioni. In alternativa, è possibile accedere ai file dei risultati programmaticamente per integrare le metriche di accessibilità con strumenti di reporting interni.
