Skip to content

StabiBerlin/sbb-relevance-test

Repository files navigation

sbb-relevance-test

Relevanztests für die Discovery Suche der SBB.

See Ziele.md

Systemanforderung

Zur Überprüfung ob node vorhanden ist:

node -v

Erwartetes Ergebnis (Beispiel):

v18.16.0

Installation

Dieses Repo klonen, und dann denn geklonten Ordner in der Kommandozeile öffnen:

npm i

Installation (SBB)

  1. Für die Installation via NPM müssen die Proxy Einstellungen der lokalen Umgebung manuell angepasst werden.
$env:HTTP_PROXY = "http://your.proxy.here:3128"
$env:HTTPS_PROXY = "https://your.proxy.here:3218"
$env:NO_PROXY = "localhost, 127.0.0.1, 10.0.0.0/8, …"

Die Proxy Einstellungen für die direkte Kommunikation mit dem Findex können in einer cypress.env.json hinterlegt werden.

{
    "NO_PROXY": "localhost, 127.0.0.1, 10.0.0.0/8, …",
    "HTTP_PROXY": "http://your.proxy.here:3128",
    "HTTPS_PROXY": "https://your.proxy.here:3218"
}
  1. Strikten SSL modus deaktivieren (einmalig)

Da der Proxy über http aufgerufen wird, muss unter Umständen der strikte ssl modus deaktiviert werden.

npm set strict-ssl false
  1. Installation via NPM

Dieses Repo klonen, und dann die Kommandozeile in dem geklonten Ordner öffnen:

npm i

Benutzung

Zum Ausführen der Tests den geklonten Ordner in der Kommandozeile öffnen:

Ohne GUI:

npx cypress run

Mit GUI:

npx cypress open

Per Default laufen die Tests gegen den Ranking1 testserver. Die searchspecs.yml befindet sich im Verzeichnis: /var/www/vufind/local/config/vufind

Für die Reproduktion der CI Testläufe gegen den produktiven Stabikat z.Bsp der simple.cs.js spec:

  • Ändere BASE_URL zum Stabikat
  • Spezifiziere welche Testdatei via --spec, und
  • nur Tests ohne tag, via --env
CYPRESS_BASE_URL=https://stabikat.de/search/ npx cypress run --spec cypress/e2e/simple.cy.js --env grepUntagged=true   
npx cypress open --config baseUrl=https://stabikat.de/search/ --env grepUntagged=true 

Für weitere Optionen siehe Cypress command-line

Tagging

Für offene issues, mit Test die in beiden Instanzen (noch) nicht laufen nutze: .skip. Tests die auf dem Testserver grün sind, aber im produktiven Stabikat rot werden durch den @next tag gekennzeichnet:

  • @next

    // This works on test environment but not on stabi
    it('CJK author search should return translations', {tags: ['@next']}, () => {
      cy.get('.record-list')
        .contains('Yan, Lianke')
      })
    
    // This works on both
    it('CJK author search should match latinized family name', () => {
      cy.get('.record-list')
        .contains('Yan')
      })  

Release

Wenn die nötigen Änderungen der searchpsec.yaml im Stabikat live gegangen sind, müssen die entsprechenden @next Tags entfernt werden. Folgender Befehl führ nur die tests mit tag aus:

npx cypress run --config baseUrl=https://stabikat.de/search/ --env grepTags=@next

Anschliessend bei allen grünen Tests den Tag entfernen.

Yaml Prüfung

Um die yaml Dateien im vufind/ Ordner auf Syntaxfehler zu überprüfen:

npm run lint

Dieser Test wird auf GitHub automatisch ausgeführt.

Troubleshooting

Die Datei cypress/e2e/simple.cy.js beinhaltet einen Selbsttest. Zur Prolembehebung können diese unskipped werden.

Cypress Browser Warning

Sollte ein eine Browser spezifische Warnung erscheinen, verhindern Windows Systemeinstellungen die automatisierte Nutzung des gewählten Browsers.

Cypress detected policy settings on your computer that may cause issues.

The following policies were detected that may prevent Cypress from automating Chrome:

 - HKEY_CURRENT_USER\Software\Policies\Google\Chrome\ProxySettings

For more information, see https://on.cypress.io/bad-browser-policy

In diese Fällen müssen Tests in Electron ausgeführt werden.

Findex Availability

see proxy above

About

Specs for relevance of stabikat search

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published