[LON-CAPA-cvs] cvs: doc /loncapafiles axe_config_check.piml loncom/node.js/axe AxeRunner.pm browser.js

raeburn raeburn at source.lon-capa.org
Wed Aug 5 10:26:05 EDT 2026


raeburn		Wed Aug  5 14:26:05 2026 EDT

  Modified files:              
    /loncom/node.js/axe	browser.js AxeRunner.pm 
    /doc/loncapafiles	axe_config_check.piml 
  Log:
  - Support distros which use firefox (SLES12).
  
  
Index: loncom/node.js/axe/browser.js
diff -u loncom/node.js/axe/browser.js:1.3 loncom/node.js/axe/browser.js:1.4
--- loncom/node.js/axe/browser.js:1.3	Thu Jul 30 01:45:05 2026
+++ loncom/node.js/axe/browser.js	Wed Aug  5 14:26:04 2026
@@ -1,5 +1,5 @@
 //
-// $Id: browser.js,v 1.3 2026/07/30 01:45:05 raeburn Exp $
+// $Id: browser.js,v 1.4 2026/08/05 14:26:04 raeburn Exp $
 //
 // This is a javascript library for managing a headless
 // chromium web browser.  It relies puppeteer (node.js).
@@ -8,6 +8,7 @@
 // -------
 // getBrowser()
 // closeBrowser()
+// getBrowserPath()
 //
 const fs = require('fs');
 const path = require('path');
@@ -16,10 +17,15 @@
 
 async function getBrowser() {
   if (!browserInstance) {
-    const pathToChromium = getChromiumPath();
-    if (pathToChromium) {
+    const pathToBrowser = getBrowserPath();
+    if (pathToBrowser) {
+      let browserName = 'chrome';
+      if (pathToBrowser.endsWith('firefox')) {
+          browserName = 'firefox';
+      }
       browserInstance = await puppeteer.launch({
-        executablePath: pathToChromium
+        browser: browserName,
+        executablePath: pathToBrowser
       });
     }
   }
@@ -33,10 +39,11 @@
   }
 }
 
-function getChromiumPath() {
+function getBrowserPath() {
   const paths = ['/usr/bin/chromium-browser',
                  '/usr/bin/chromium',
-                 '/usr/bin/google-chrome-stable'];
+                 '/usr/bin/google-chrome-stable',
+                 '/usr/bin/firefox'];
   for (const p of paths) {
     if (fs.existsSync(p)) {
       return p;
Index: loncom/node.js/axe/AxeRunner.pm
diff -u loncom/node.js/axe/AxeRunner.pm:1.4 loncom/node.js/axe/AxeRunner.pm:1.5
--- loncom/node.js/axe/AxeRunner.pm:1.4	Thu Jul 30 18:26:18 2026
+++ loncom/node.js/axe/AxeRunner.pm	Wed Aug  5 14:26:04 2026
@@ -1,7 +1,7 @@
 # The LearningOnline Network with CAPA
 # Accessibility Testing
 #
-# $Id: AxeRunner.pm,v 1.4 2026/07/30 18:26:18 raeburn Exp $
+# $Id: AxeRunner.pm,v 1.5 2026/08/05 14:26:04 raeburn Exp $
 #
 # The LearningOnline Network with CAPA
 #
@@ -49,7 +49,7 @@
     }
     if (($nodejsdir) && (-e "$nodejsdir/axe/axeperl.js") &&
         ((-e '/usr/bin/chromium-browser') || (-e '/usr/bin/chromium') ||
-         (-e '/usr/bin/google-chrome-stable'))) {
+         (-e '/usr/bin/google-chrome-stable') || (-e '/usr/bin/firefox'))) {
         $pid = IPC::Open2::open2($chld_out, $chld_in, "/usr/bin/node $nodejsdir/axe/axeperl.js");
         if ($pid ne '') {
             my $line = <$chld_out>;
Index: doc/loncapafiles/axe_config_check.piml
diff -u doc/loncapafiles/axe_config_check.piml:1.7 doc/loncapafiles/axe_config_check.piml:1.8
--- doc/loncapafiles/axe_config_check.piml:1.7	Sat Aug  1 11:24:15 2026
+++ doc/loncapafiles/axe_config_check.piml	Wed Aug  5 14:26:05 2026
@@ -2,7 +2,7 @@
 	"http://lpml.sourceforge.net/DTD/piml.dtd">
 <!-- axe_config_check.piml -->
 
-<!-- $Id: axe_config_check.piml,v 1.7 2026/08/01 11:24:15 raeburn Exp $ -->
+<!-- $Id: axe_config_check.piml,v 1.8 2026/08/05 14:26:05 raeburn Exp $ -->
 
 <!--
 
@@ -41,20 +41,22 @@
 my $addexport = 1;
 my $wwwuid = getpwnam('www');
 my $wwwgid = getgrnam('www');
-my $path_to_chromium = '/usr/bin/chromium-browser';
+my $path_to_browser = '/usr/bin/chromium-browser';
 if (('<DIST />' eq 'debian10') || ('<DIST />' eq 'debian11') ||
     ('<DIST />' eq 'debian12') || ('<DIST />' eq 'debian13')) {
-    $path_to_chromium = '/usr/bin/chromium';
+    $path_to_browser = '/usr/bin/chromium';
 } elsif (('<DIST />' eq 'ubuntu22') || ('<DIST />' eq 'ubuntu24') ||
          ('<DIST />' eq 'ubuntu26')) {
-    $path_to_chromium = '/usr/bin/google-chrome-stable';
-}
+    $path_to_browser = '/usr/bin/google-chrome-stable';
+} elsif ('<DIST />' eq 'sles12') {
+    $path_to_browser = '/usr/bin/firefox';
+} 
 
 if (-e '/home/www/.bashrc') {
     if (open(my $fh,'<','/home/www/.bashrc')) {
         while (my $line = <$fh>) {
             chomp($line);
-            if ($line =~ m{^\Qexport PUPPETEER_EXECUTABLE_PATH="$path_to_chromium"\E$}) {
+            if ($line =~ m{^\Qexport PUPPETEER_EXECUTABLE_PATH="$path_to_browser"\E$}) {
                 $addexport = 0;
                 last;
             }
@@ -63,13 +65,13 @@
     }
     if ($addexport) {
         if (open(my $fh,'>>','/home/www/.bashrc')) {
-            print $fh 'export PUPPETEER_EXECUTABLE_PATH="'.$path_to_chromium.'"'."\n";
+            print $fh 'export PUPPETEER_EXECUTABLE_PATH="'.$path_to_browser.'"'."\n";
             close($fh);
         }
     }
 } else {
     if (open(my $fh,'>','/home/www/.bashrc')) {
-        print $fh 'export PUPPETEER_EXECUTABLE_PATH="'.$path_to_chromium.'"'."\n";
+        print $fh 'export PUPPETEER_EXECUTABLE_PATH="'.$path_to_browser.'"'."\n";
         close($fh);
         chown($wwwuid,$wwwgid,'/home/www/.bashrc');
         chmod(0644,'/home/www/.bashrc');
@@ -77,7 +79,7 @@
 }
 
 if ($addexport) {
-    print 'Added: \'export PUPPETEER_EXECUTABLE_PATH="'.$path_to_chromium.'"\' to /home/www/.bashrc'."\n";
+    print 'Added: \'export PUPPETEER_EXECUTABLE_PATH="'.$path_to_browser.'"\' to /home/www/.bashrc'."\n";
 }
 
 my $original_dir = cwd();




More information about the LON-CAPA-cvs mailing list