From: Jakub Vrana Date: Thu, 27 Mar 2025 19:20:00 +0000 (+0100) Subject: Tests: Add test adder X-Git-Tag: v5.1.1~127 X-Git-Url: https://git.joonet.de/?a=commitdiff_plain;h=feaed0497ae99910f9ab5eb249ddaa06995c7781;p=adminer.git Tests: Add test adder --- diff --git a/tests/add-test.php b/tests/add-test.php new file mode 100755 index 00000000..4c8a9855 --- /dev/null +++ b/tests/add-test.php @@ -0,0 +1,30 @@ +#!/usr/bin/env php + "/adminer.php?username=ODBC&db=adminer_test", + "mariadb" => "/adminer.php?server=localhost:3307&username=ODBC&db=adminer_test", + "pgsql" => "/adminer.php?pgsql=&username=ODBC&db=adminer_test&ns=public", + "cockroachdb" => "/adminer.php?pgsql=localhost:26257&username=ODBC&db=adminer_test&ns=public", + "mssql" => "/adminer.php?mssql=&username=ODBC&db=adminer_test&ns=dbo", + "sqlite" => "/adminer/sqlite.php?sqlite=&username=ODBC&db=adminer_test.sqlite", +); + +foreach ($urls as $driver => $url) { + $filename = __DIR__ . "/$driver.html"; + $file = file_get_contents($filename); + $test = str_replace(htmlspecialchars($urls['mysql']), htmlspecialchars($urls[$driver]), $input); + $file = preg_replace("(($before)<)", $test . '\0', $file); + file_put_contents($filename, $file); +} + +include __DIR__ . "/generate-pdo.php"; diff --git a/tests/cockroachdb.html b/tests/cockroachdb.html new file mode 100644 index 00000000..f0254139 --- /dev/null +++ b/tests/cockroachdb.html @@ -0,0 +1,359 @@ + + + + + + Katalon CockroachDB + + + + + + + + + + + + + + + +
Login
open/adminer.php
selectname=langlabel=English
clickAndWaitcss=#lang > input[type="submit"]
selectname=auth[driver]label=PostgreSQL
typename=auth[server]localhost:26257
typeid=usernameODBC
typename=auth[password]ODBC
clickAndWait//input[@value='Login']
verifyTextPresentCockroachDB
+ + + + + + + + + + + + + + + + + + + +
Create table
open/adminer.php?pgsql=localhost:26257&username=ODBC&db=adminer_test&ns=public
clickAndWaitlink=Create table
typenameinterprets
typefields[1][field]id
selectfields[1][type]label=integer
click//input[@name='auto_increment_col' and @value='1']
typefields[1.1][field]name
selectfields[1.1][type]label=character varying
typefields[1.1][length]50
uncheckname=comments
clickAndWaitname=comments
typefields[1.1][comment]Interpret
typeCommentInterprets
clickAndWait//input[@value='Save']
verifyTextPresentTable has been created.
+ + + + + + + + + + + + + + +
Create index
open/adminer.php?pgsql=localhost:26257&username=ODBC&db=adminer_test&ns=public&table=interprets
clickAndWaitlink=Alter indexes
selectindexes[2][type]label=PRIMARY
selectindexes[2][columns][1]label=name
verifyValuename=indexes[2][name]interprets_name
clickAndWait//input[@value='Save']
verifyTextPresentmultiple primary keys for table "interprets" are not allowed
selectindexes[2][type]label=INDEX
clickAndWait//input[@value='Save']
verifyTextPresentIndexes have been altered.
+ + + + + + + + + + + + + + + + + + + +
Create table 2
open/adminer.php?pgsql=localhost:26257&username=ODBC&db=adminer_test&ns=public&table=interprets
clickAndWaitlink=Create table
typenamealbums
click//input[@name='auto_increment_col' and @value='1']
typefields[1.1][field]interpret
selectfields[1.1][type]label=integer
typefields[1.11][field]title
selectfields[1.11][type]label=character varying
typefields[1.11][length]50
checkname=comments
typefields[1.1][comment]Interpret
typefields[1.11][comment]Album
typeCommentAlbums
clickAndWait//input[@value='Save']
verifyTextPresentTable has been created.
+ + + + + + + + + + +
Foreign key
open/adminer.php?pgsql=localhost:26257&username=ODBC&db=adminer_test&ns=public&table=albums
clickAndWaitlink=Add foreign key
selectAndWaittablelabel=interprets
selectsource[0]label=interpret
clickAndWait//input[@value='Save']
verifyTextPresentForeign key has been created.
+ + + + + + + + + + + + + + + +
Alter table
open/adminer.php?pgsql=localhost:26257&username=ODBC&db=adminer_test&ns=public&table=interprets
clickAndWaitlink=Alter table
clickadd[2]
typefields[3][field]albums
selectfields[3][type]label=integer
typefields[3][length]
uncheckname=defaults
clickAndWaitname=defaults
typename=fields[3][default]0
clickAndWait//input[@value='Save']
verifyTextPresentTable has been altered.
+ + + + + + + + + + + + + + + + + + + +
Check constraints
open/adminer.php?pgsql=localhost:26257&username=ODBC&db=adminer_test&ns=public&table=albums
clicklink=Create check
typename=namealbums_interpret_check
runScriptdocument.querySelector('[name="clause"]').value = 'interpret > 0'
click//input[@value='Save']
verifyTextPresentCheck has been created.
clickAndWaitlink=New item
typefields[interpret]0
click//input[@value='Save']
verifyTextPresentfailed to satisfy CHECK constraint
open/adminer.php?pgsql=localhost:26257&username=ODBC&db=adminer_test&ns=public&check=albums&name=albums_interpret_check
verifyTextPresent((interpret > 0:::INT8))
chooseOkOnNextConfirmationDrop albums_interpret_check?
clickname=drop
verifyTextPresentCheck has been dropped.
+ + + + + + + + + +
Create view
open/adminer.php?pgsql=localhost:26257&username=ODBC&db=adminer_test&ns=public&view=
runScriptdocument.querySelector('[name="select"]').value = 'SELECT albums.id, albums.title, interprets.name FROM albums LEFT JOIN interprets ON albums.interpret = interprets.id'
typenamealbums_interprets
clickAndWait//input[@value='Save']
verifyTextPresentView has been created.
+ + + + + + + + + + +
Materialized view
open/adminer.php?pgsql=localhost:26257&username=ODBC&db=adminer_test&ns=public&view=
runScriptdocument.querySelector('[name="select"]').value = 'SELECT albums.id, albums.title, interprets.name FROM albums LEFT JOIN interprets ON albums.interpret = interprets.id'
typenamematerialized_view
clickmaterialized
clickAndWait//input[@value='Save']
verifyTextPresentMaterialized view
+ + + + + + +
Schema
open/adminer.php?pgsql=localhost:26257&username=ODBC&db=adminer_test&ns=public&schema=
verifyTextPresentPermanent link
+ + + + + + + + + + + + + + +
Insert
open/adminer.php?pgsql=localhost:26257&username=ODBC&db=adminer_test&ns=public&edit=interprets
typefields[id]1
typefields[name]Michael Jackson
clickAndWait//input[@value='Save']
verifyTextPresenthas been inserted.
open/adminer.php?pgsql=localhost:26257&username=ODBC&db=adminer_test&ns=public&edit=albums
typefields[interpret]1
typefields[title]Dangerous
clickAndWait//input[@value='Save']
verifyTextPresenthas been inserted.
+ + + + + + + + + + + +
Clone
open/adminer.php?pgsql=localhost:26257&username=ODBC&db=adminer_test&ns=public&select=albums
clickcheck[]
clickAndWaitclone
typefields[id]2
typefields[title]Black and White
clickAndWait//input[@value='Save']
verifyTextPresentItem 2 has been inserted.
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Enum
open/adminer.php?pgsql=localhost:26257&username=ODBC&db=adminer_test&ns=public
clicklink=Create type
typename=namealive
runScriptdocument.querySelector('[name="as"]').value = "AS ENUM('alive', 'deceased')"
clickAndWait//input[@value='Save']
clicklink=interprets
clicklink=Alter table
clickname=add[3]
typename=fields[4][field]alive
selectname=fields[4][type]label=alive
clickname=fields[4][null]
clickAndWait//input[@value='Save']
clicklink=alive
verifyTextPresent'alive', 'deceased'
chooseOkOnNextConfirmationDrop alive?
clickAndWait//input[@value='Drop']
verifyTextPresentcannot drop type
open/adminer.php?pgsql=localhost:26257&username=ODBC&db=adminer_test&ns=public&edit=interprets&where%5Bid%5D=1
click//input[@value='deceased']
clickAndWait//input[@value='Save']
verifyTextPresentdeceased
+ + + + + + + + + +
Explain
open/adminer.php?pgsql=localhost:26257&username=ODBC&db=adminer_test&ns=public&select=albums
clickAndWaitlink=Edit
clickAndWait//input[@value='Execute']
clicklink=Explain
verifyTextPresentLIMITED SCAN
+ + + + + + + +
Reference
open/adminer.php?pgsql=localhost:26257&username=ODBC&db=adminer_test&ns=public&select=albums
clickAndWaitlink=1
verifyTextPresentMichael Jackson
+ + + + + + + + +
Update
open/adminer.php?pgsql=localhost:26257&username=ODBC&db=adminer_test&ns=public&edit=albums&where%5Bid%5D=2
typefields[title]Black or White
clickAndWait//input[@value='Save']
verifyTextPresentItem has been updated.
+ + + + + + + + + + +
Delete
open/adminer.php?pgsql=localhost:26257&username=ODBC&db=adminer_test&ns=public&select=albums
click//input[@name='check[]' and @value='where%5Bid%5D=2']
waitForChecked//input[@name='check[]' and @value='where%5Bid%5D=2']
chooseOkOnNextConfirmationAre you sure?
clickdelete
verifyTextPresent1 item has been affected.
+ + + + + + + + + + +
Truncate
open/adminer.php?pgsql=localhost:26257&username=ODBC&db=adminer_test&ns=public&select=albums
clickall
waitForCheckedall
chooseOkOnNextConfirmationAre you sure?
clickdelete
verifyTextPresentNo rows.
+ + + + + + + + + + + + + +
Export
open/adminer.php?pgsql=localhost:26257&username=ODBC&db=adminer_test&ns=public&dump=
clickoutput
clickformat
selecttable_stylelabel=DROP+CREATE
selectdata_stylelabel=INSERT
clickAndWait//input[@value='Export']
verifyTextPresentCREATE TABLE "public"."interprets"
verifyTextPresentINSERT INTO "interprets"
verifyTextPresentVIEW "albums_interprets"
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Procedures
open/adminer.php?pgsql=localhost:26257&username=ODBC&db=adminer_test&ns=public&procedure=
clickAndWaitadd[0]
typefields[1][field]interpret_name
selectfields[1][type]label=character varying
typefields[1][length]50
typefields[1.1][field]album_title
selectfields[1.1][type]label=character varying
typefields[1.1][length]50
runScriptdocument.querySelector('[name="definition"]').value = 'SELECT id FROM interprets;'
typenameinsert_album
selectname=languagelabel=sql
clickAndWait//input[@value='Save']
verifyTextPresentRoutine has been created.
clickAndWaitlink=insert_album
typefields[interpret_name]Michael Jackson
typefields[album_title]Dangerous
clickAndWait//input[@value='Call']
assertTextPresentRoutine has been called,
open/adminer.php?pgsql=localhost%3A26257&username=ODBC&db=adminer_test&ns=public&sql=DROP+PROCEDURE+%22insert_album%22
clickAndWait//input[@value='Execute']
+ + + + + + + + + + + + + + + + + + + + + +
Generated columns
open/adminer.php?pgsql=localhost:26257&username=ODBC&db=adminer_test&ns=public&create=
typename=namegenerated
typename=fields[1][field]normal
typename=fields[1.1][field]stored
selectname=fields[1.1][generated]label=STORED
typename=fields[1.1][default]normal + 200
clickAndWait//input[@value='Save']
verifyTextPresentnormal + 200
clicklink=Alter indexes
selectname=indexes[2][columns][1]label=stored
clickAndWait//input[@value='Save']
verifyTextPresentIndexes have been altered.
clicklink=New item
verifyTextNotPresentstored
typename=fields[normal]20
click//input[@value='Save']
verifyTextPresent220
+ + + + + + + + + +
Drop
open/adminer.php?pgsql=localhost:26257&username=ODBC&db=adminer_test&ns=public
clickid=check-all
chooseOkOnNextConfirmationAre you sure?
clickname=drop
verifyTextPresentNo tables.
+ + + + + + +
Variables
open/adminer.php?pgsql=localhost:26257&username=ODBC&variables=
verifyTextPresentcrdb_version
+ + + + + + + +
SQL command
open/adminer.php?pgsql=localhost:26257&username=ODBC&sql=SELECT+122%2B1
clickAndWait//input[@value='Execute']
verifyTextPresent123
+ + + + + + + + +
Logout
open/adminer.php?pgsql=localhost:26257&username=ODBC
clickAndWaitlogout
verifyTextPresentLogout successful.
open/coverage.php
+ + + diff --git a/tests/cocroachdb.html b/tests/cocroachdb.html deleted file mode 100644 index f0254139..00000000 --- a/tests/cocroachdb.html +++ /dev/null @@ -1,359 +0,0 @@ - - - - - - Katalon CockroachDB - - - - - - - - - - - - - - - -
Login
open/adminer.php
selectname=langlabel=English
clickAndWaitcss=#lang > input[type="submit"]
selectname=auth[driver]label=PostgreSQL
typename=auth[server]localhost:26257
typeid=usernameODBC
typename=auth[password]ODBC
clickAndWait//input[@value='Login']
verifyTextPresentCockroachDB
- - - - - - - - - - - - - - - - - - - -
Create table
open/adminer.php?pgsql=localhost:26257&username=ODBC&db=adminer_test&ns=public
clickAndWaitlink=Create table
typenameinterprets
typefields[1][field]id
selectfields[1][type]label=integer
click//input[@name='auto_increment_col' and @value='1']
typefields[1.1][field]name
selectfields[1.1][type]label=character varying
typefields[1.1][length]50
uncheckname=comments
clickAndWaitname=comments
typefields[1.1][comment]Interpret
typeCommentInterprets
clickAndWait//input[@value='Save']
verifyTextPresentTable has been created.
- - - - - - - - - - - - - - -
Create index
open/adminer.php?pgsql=localhost:26257&username=ODBC&db=adminer_test&ns=public&table=interprets
clickAndWaitlink=Alter indexes
selectindexes[2][type]label=PRIMARY
selectindexes[2][columns][1]label=name
verifyValuename=indexes[2][name]interprets_name
clickAndWait//input[@value='Save']
verifyTextPresentmultiple primary keys for table "interprets" are not allowed
selectindexes[2][type]label=INDEX
clickAndWait//input[@value='Save']
verifyTextPresentIndexes have been altered.
- - - - - - - - - - - - - - - - - - - -
Create table 2
open/adminer.php?pgsql=localhost:26257&username=ODBC&db=adminer_test&ns=public&table=interprets
clickAndWaitlink=Create table
typenamealbums
click//input[@name='auto_increment_col' and @value='1']
typefields[1.1][field]interpret
selectfields[1.1][type]label=integer
typefields[1.11][field]title
selectfields[1.11][type]label=character varying
typefields[1.11][length]50
checkname=comments
typefields[1.1][comment]Interpret
typefields[1.11][comment]Album
typeCommentAlbums
clickAndWait//input[@value='Save']
verifyTextPresentTable has been created.
- - - - - - - - - - -
Foreign key
open/adminer.php?pgsql=localhost:26257&username=ODBC&db=adminer_test&ns=public&table=albums
clickAndWaitlink=Add foreign key
selectAndWaittablelabel=interprets
selectsource[0]label=interpret
clickAndWait//input[@value='Save']
verifyTextPresentForeign key has been created.
- - - - - - - - - - - - - - - -
Alter table
open/adminer.php?pgsql=localhost:26257&username=ODBC&db=adminer_test&ns=public&table=interprets
clickAndWaitlink=Alter table
clickadd[2]
typefields[3][field]albums
selectfields[3][type]label=integer
typefields[3][length]
uncheckname=defaults
clickAndWaitname=defaults
typename=fields[3][default]0
clickAndWait//input[@value='Save']
verifyTextPresentTable has been altered.
- - - - - - - - - - - - - - - - - - - -
Check constraints
open/adminer.php?pgsql=localhost:26257&username=ODBC&db=adminer_test&ns=public&table=albums
clicklink=Create check
typename=namealbums_interpret_check
runScriptdocument.querySelector('[name="clause"]').value = 'interpret > 0'
click//input[@value='Save']
verifyTextPresentCheck has been created.
clickAndWaitlink=New item
typefields[interpret]0
click//input[@value='Save']
verifyTextPresentfailed to satisfy CHECK constraint
open/adminer.php?pgsql=localhost:26257&username=ODBC&db=adminer_test&ns=public&check=albums&name=albums_interpret_check
verifyTextPresent((interpret > 0:::INT8))
chooseOkOnNextConfirmationDrop albums_interpret_check?
clickname=drop
verifyTextPresentCheck has been dropped.
- - - - - - - - - -
Create view
open/adminer.php?pgsql=localhost:26257&username=ODBC&db=adminer_test&ns=public&view=
runScriptdocument.querySelector('[name="select"]').value = 'SELECT albums.id, albums.title, interprets.name FROM albums LEFT JOIN interprets ON albums.interpret = interprets.id'
typenamealbums_interprets
clickAndWait//input[@value='Save']
verifyTextPresentView has been created.
- - - - - - - - - - -
Materialized view
open/adminer.php?pgsql=localhost:26257&username=ODBC&db=adminer_test&ns=public&view=
runScriptdocument.querySelector('[name="select"]').value = 'SELECT albums.id, albums.title, interprets.name FROM albums LEFT JOIN interprets ON albums.interpret = interprets.id'
typenamematerialized_view
clickmaterialized
clickAndWait//input[@value='Save']
verifyTextPresentMaterialized view
- - - - - - -
Schema
open/adminer.php?pgsql=localhost:26257&username=ODBC&db=adminer_test&ns=public&schema=
verifyTextPresentPermanent link
- - - - - - - - - - - - - - -
Insert
open/adminer.php?pgsql=localhost:26257&username=ODBC&db=adminer_test&ns=public&edit=interprets
typefields[id]1
typefields[name]Michael Jackson
clickAndWait//input[@value='Save']
verifyTextPresenthas been inserted.
open/adminer.php?pgsql=localhost:26257&username=ODBC&db=adminer_test&ns=public&edit=albums
typefields[interpret]1
typefields[title]Dangerous
clickAndWait//input[@value='Save']
verifyTextPresenthas been inserted.
- - - - - - - - - - - -
Clone
open/adminer.php?pgsql=localhost:26257&username=ODBC&db=adminer_test&ns=public&select=albums
clickcheck[]
clickAndWaitclone
typefields[id]2
typefields[title]Black and White
clickAndWait//input[@value='Save']
verifyTextPresentItem 2 has been inserted.
- - - - - - - - - - - - - - - - - - - - - - - - - -
Enum
open/adminer.php?pgsql=localhost:26257&username=ODBC&db=adminer_test&ns=public
clicklink=Create type
typename=namealive
runScriptdocument.querySelector('[name="as"]').value = "AS ENUM('alive', 'deceased')"
clickAndWait//input[@value='Save']
clicklink=interprets
clicklink=Alter table
clickname=add[3]
typename=fields[4][field]alive
selectname=fields[4][type]label=alive
clickname=fields[4][null]
clickAndWait//input[@value='Save']
clicklink=alive
verifyTextPresent'alive', 'deceased'
chooseOkOnNextConfirmationDrop alive?
clickAndWait//input[@value='Drop']
verifyTextPresentcannot drop type
open/adminer.php?pgsql=localhost:26257&username=ODBC&db=adminer_test&ns=public&edit=interprets&where%5Bid%5D=1
click//input[@value='deceased']
clickAndWait//input[@value='Save']
verifyTextPresentdeceased
- - - - - - - - - -
Explain
open/adminer.php?pgsql=localhost:26257&username=ODBC&db=adminer_test&ns=public&select=albums
clickAndWaitlink=Edit
clickAndWait//input[@value='Execute']
clicklink=Explain
verifyTextPresentLIMITED SCAN
- - - - - - - -
Reference
open/adminer.php?pgsql=localhost:26257&username=ODBC&db=adminer_test&ns=public&select=albums
clickAndWaitlink=1
verifyTextPresentMichael Jackson
- - - - - - - - -
Update
open/adminer.php?pgsql=localhost:26257&username=ODBC&db=adminer_test&ns=public&edit=albums&where%5Bid%5D=2
typefields[title]Black or White
clickAndWait//input[@value='Save']
verifyTextPresentItem has been updated.
- - - - - - - - - - -
Delete
open/adminer.php?pgsql=localhost:26257&username=ODBC&db=adminer_test&ns=public&select=albums
click//input[@name='check[]' and @value='where%5Bid%5D=2']
waitForChecked//input[@name='check[]' and @value='where%5Bid%5D=2']
chooseOkOnNextConfirmationAre you sure?
clickdelete
verifyTextPresent1 item has been affected.
- - - - - - - - - - -
Truncate
open/adminer.php?pgsql=localhost:26257&username=ODBC&db=adminer_test&ns=public&select=albums
clickall
waitForCheckedall
chooseOkOnNextConfirmationAre you sure?
clickdelete
verifyTextPresentNo rows.
- - - - - - - - - - - - - -
Export
open/adminer.php?pgsql=localhost:26257&username=ODBC&db=adminer_test&ns=public&dump=
clickoutput
clickformat
selecttable_stylelabel=DROP+CREATE
selectdata_stylelabel=INSERT
clickAndWait//input[@value='Export']
verifyTextPresentCREATE TABLE "public"."interprets"
verifyTextPresentINSERT INTO "interprets"
verifyTextPresentVIEW "albums_interprets"
- - - - - - - - - - - - - - - - - - - - - - - - - -
Procedures
open/adminer.php?pgsql=localhost:26257&username=ODBC&db=adminer_test&ns=public&procedure=
clickAndWaitadd[0]
typefields[1][field]interpret_name
selectfields[1][type]label=character varying
typefields[1][length]50
typefields[1.1][field]album_title
selectfields[1.1][type]label=character varying
typefields[1.1][length]50
runScriptdocument.querySelector('[name="definition"]').value = 'SELECT id FROM interprets;'
typenameinsert_album
selectname=languagelabel=sql
clickAndWait//input[@value='Save']
verifyTextPresentRoutine has been created.
clickAndWaitlink=insert_album
typefields[interpret_name]Michael Jackson
typefields[album_title]Dangerous
clickAndWait//input[@value='Call']
assertTextPresentRoutine has been called,
open/adminer.php?pgsql=localhost%3A26257&username=ODBC&db=adminer_test&ns=public&sql=DROP+PROCEDURE+%22insert_album%22
clickAndWait//input[@value='Execute']
- - - - - - - - - - - - - - - - - - - - - -
Generated columns
open/adminer.php?pgsql=localhost:26257&username=ODBC&db=adminer_test&ns=public&create=
typename=namegenerated
typename=fields[1][field]normal
typename=fields[1.1][field]stored
selectname=fields[1.1][generated]label=STORED
typename=fields[1.1][default]normal + 200
clickAndWait//input[@value='Save']
verifyTextPresentnormal + 200
clicklink=Alter indexes
selectname=indexes[2][columns][1]label=stored
clickAndWait//input[@value='Save']
verifyTextPresentIndexes have been altered.
clicklink=New item
verifyTextNotPresentstored
typename=fields[normal]20
click//input[@value='Save']
verifyTextPresent220
- - - - - - - - - -
Drop
open/adminer.php?pgsql=localhost:26257&username=ODBC&db=adminer_test&ns=public
clickid=check-all
chooseOkOnNextConfirmationAre you sure?
clickname=drop
verifyTextPresentNo tables.
- - - - - - -
Variables
open/adminer.php?pgsql=localhost:26257&username=ODBC&variables=
verifyTextPresentcrdb_version
- - - - - - - -
SQL command
open/adminer.php?pgsql=localhost:26257&username=ODBC&sql=SELECT+122%2B1
clickAndWait//input[@value='Execute']
verifyTextPresent123
- - - - - - - - -
Logout
open/adminer.php?pgsql=localhost:26257&username=ODBC
clickAndWaitlogout
verifyTextPresentLogout successful.
open/coverage.php
- - - diff --git a/tests/generate-pdo.php b/tests/generate-pdo.php index 6dc3b333..5811301c 100755 --- a/tests/generate-pdo.php +++ b/tests/generate-pdo.php @@ -3,6 +3,7 @@ // Katalon Recorder has global variables: https://docs.katalon.com/katalon-platform/plugins-and-add-ons/katalon-recorder-extension/get-your-job-done/automate-scenarios/global-variables-in-katalon-recorder // It's possible to use them in URL in Katalon Studio but apparently not in Recorder: https://forum.katalon.com/t/45673/2 +chdir(__DIR__); foreach (glob("*.html") as $filename) { if (!preg_match('~^pdo-~', $filename)) { $file = file_get_contents($filename);