Selenium IDE komut dosyaları ile tarayıcı testi
Web uygulamalarınızla kullanıcı etkileşimlerinin benzetimini yapmak için bir Selenium IDE komut dosyası (yan komut dosyası da denir) kullanın.
Selenium IDE komut dosyası sınaması, bir tip YönOrtamıSentetik tarayıcı komut dosyası sınamasıdır.
Recording a Selenium IDE script (Selenium IDE komut dosyası kaydetme) bölümünde açıklandığı gibi basit bir Selenium IDE komut dosyasıyla başlamanız önerilir.
Daha sonra, Selenium IDE komut dosyalarında test yeteneklerini genişletme kısmında açıklandığı gibi, YönOrtamıSentetik tarafından sağlanan gelişmiş yetenekleri kullanabilirsiniz.
- Selenium IDE komut dosyasının kaydedilmesi
- Selenium IDE komut dosyalarında test yeteneklerini genişletme
Selenium IDE komut dosyasının kaydedilmesi
Firefox ya da Chrome tarayıcısında Selenium IDE Firefox eklentisini ya da Chrome uzantısını karşıdan yükleyin ve kurun. Daha sonra tarayıcıyı yeniden başlatın.
Menü çubuğundan Selenium IDE ' yi açın.
Record a new test in a new projectbağlantısını tıklatın ve yönergeleri izleyerek bir komut dosyası kaydedin.Selenium IDE kaydedilirken, komut dosyasındaki her kullanıcı işlemi için bir komut oluşturur.

Kaydettikten sonra komut dosyasını bir
.sidedosyasına kaydedin.
assert titlegibi komutlar ekleyebilir ya da komut dosyanızı çalıştır düğmesiyle sınayabilirsiniz.
Daha fazla bilgi için bkz. Selenium IDE Başlarken.
Kaydedilen komut dosyasını test etmek ya da hata ayıklamak için Selenium IDE Firefox eklentisini ya da Chrome uzantısını da kullanabilirsiniz.
Not:
Selenium IDE ' de zamanaşımı değerlerini özelleştirebilirsiniz. Zamanaşımı değeri sağlanmazsa, varsayılan değerler kullanılır:
Instana, yalnızca diziselleştirilmiş testleri destekler ve bu nedenle Selenium IDE komut dosyalarındaki aşağıdaki özelliklerin üzerine YönOrtamıcı tarayıcı kayıttan yürütme motoru yazılır:
- "persistSession": false
- "paralel": false
Örnek
Aşağıdaki örnekte, Selenium IDE komut dosyası, bir arama motorunda YönOrtamıana anahtar sözcüklerini aramak için kullanılır:
{
"id": "9ed7eb47-bf16-42aa-a486-0c7d99182726",
"version": "2.0",
"name": "Search-Instana",
"url": "https://www.google.com",
"tests": [{
"id": "d968da10-6c9f-467f-ba5c-dbe5135dab17",
"name": "search instana",
"commands": [{
"id": "c6ccc11f-aab7-49b4-af71-6315647370da",
"comment": "",
"command": "open",
"target": "/",
"targets": [],
"value": ""
}, {
"id": "99075bf4-411e-4351-804d-e78f5d83824e",
"comment": "",
"command": "type",
"target": "name=q",
"targets": [
["name=q", "name"],
["css=.gLFyf", "css:finder"],
["xpath=//input[@name='q']", "xpath:attributes"],
["xpath=//input", "xpath:position"]
],
"value": "instana"
}, {
"id": "9f1b06f4-1cfb-4381-9566-2399742a46c2",
"comment": "",
"command": "sendKeys",
"target": "name=q",
"targets": [
["name=q", "name"],
["css=.gLFyf", "css:finder"],
["xpath=//input[@name='q']", "xpath:attributes"],
["xpath=//input", "xpath:position"]
],
"value": "${KEY_ENTER}"
}, {
"id": "d13e50bd-f698-4a04-9420-701a21dcde8d",
"comment": "",
"command": "waitForElementVisible",
"target": "id=result-stats",
"targets": [
["id=result-stats", "id"],
["css=#result-stats", "css:finder"],
["xpath=//div[@id='result-stats']", "xpath:attributes"],
["xpath=//div[@id='slim_appbar']/div/div", "xpath:idRelative"],
["xpath=//div[7]/div/div/div/div/div", "xpath:position"]
],
"value": "5000"
}]
}],
"suites": [{
"id": "76395644-9101-473c-ad42-bda5c37e8de2",
"name": "Search Instana",
"persistSession": false,
"parallel": false,
"timeout": 300,
"tests": ["d968da10-6c9f-467f-ba5c-dbe5135dab17"]
}],
"urls": ["https://www.google.com/"],
"plugins": []
}
Selenium IDE komut dosyalarında test yeteneklerini genişletme
Instana Synthetic tarayıcı testi, Selenium IDE ' den daha fazla yetenek sağlar:
Instana Syntetik, HTTP Arşiv biçimi (HAR) dosyalarını, ekran görüntülerini, kayıtları, tarayıcı günlüklerini ve konsol günlüklerini içeren zengin test sonuçları sağlar.
Instana Synthetic, daha gelişmiş tarayıcı testi API ' leri ve genel değişkenler sağlar.
Selenium IDE komut dosyalarınızı, YönOrtamıSentetik tarafından sağlanan gelişmiş tarayıcı testi API ' leri ve genel değişkenleriyle değiştirmek istiyorsanız aşağıdaki örneklere bakın:
Testinizde genel ortam değişkenlerini kullanın.
Aşağıdaki örnekteki gibi genel değişkenlere erişmek için
$synthetic.xxxx,$secure.xxxya da$env.xxxkullanabilirsiniz.echokomutu gibi şablon dizgilerindeki değişkenleri kullanmak için standart Node.js sözdizimini kullanın ve değişkenleri${}içine koyun.{ "id": "da853ea2-7253-4938-ad2d-9272f4c6d3e2", "comment": "", "command": "echo", "target": "tag1's value is ${$synthetic.tag1}", "targets": [], "value": "" }, { "id": "9540edee-f041-42b1-aeb3-e2142a7fcbd7", "comment": "", "command": "assert", "target": "$synthetic.tag1", "targets": [], "value": "value1" }Gelişmiş tarayıcı testi API ' lerini çağırmak için Selenium komutlarını
runScriptveexecuteScriptkullanın.Selenium komutlarını
runScriptveexecuteScript, YönOrtamıAna Tarayıcı Sınaması 'nda önceden tanımlanmış tarayıcı sınama API ' lerini ve genel değişkenleri çağırmak için kullanabilirsiniz.executeScriptverunScriptarasındaki fark,executeScript' un döndürülen değerin bir değişkende saklanmasını desteklemektir. Daha sonra,assertya daechodeğişkenini${xxx}ile kullanabilirsiniz. Döndürülen değeri saklamak içinreturnanahtar sözcüğünü kullanın ve değer giriş alanında bir değişken adı belirtin.{ "id": "9cd35362-8d78-4bd2-a32b-f81d40362af2", "comment": "browser_script_api_authentication_executeScript", "command": "executeScript", "target": "return $browser.setAuthentication(\"user1\", \"pass1\")", "targets": [], "value": "authentication_result" }, { "id": "1401608a-3892-4be0-9b4c-63c0fb0a1b87", "comment": "echo authentication result", "command": "echo", "target": "This is my authentication result: ${authentication_result}", "targets": [], "value": "" }Bir ortam değişkeni tanımlayın ve bunu tarayıcı test API ' lerinde kullanın.
{ "id": "10d09a25-d101-43b0-84df-f22265b7cec6", "comment": "proxy_store_json", "command": "storeJson", "target": "{\"proxy\": \"<proxy_server>:8080\", \"noproxy\": \"localhost,google.com,192.168.1.0/24\"}", "targets": [], "value": "proxyConfig" }, { "id": "237bd334-d963-4a73-b9bb-4c31f1dce051", "comment": "browser_script_api_proxy_runScript", "command": "runScript", "target": "await $browser.clearProxy(); await $browser.setProxy(${proxyConfig.proxy}, ${proxyConfig.noproxy});", "targets": [], "value": "" }Bir yetkili sunucu ayarlamak için
$networkAPI 'sini kullanın.{ "id": "a418460e-a0a9-4c68-bbd0-fb78d6495e92", "comment": "browser_script_api_$network", "command": "runScript", "target": "await $network.clearProxy(); await $network.setProxy(${proxyConfig.proxy}, ${proxyConfig.noproxy});", "targets": [], "value": "" }Öznitelikleri özelleştirmek için
$attributesAPI 'sini kullanın.{ "id": "26438c58-868d-4d6d-9e6f-dbe9d8f373fd", "comment": "browser_script_api_$attributes", "command": "executeScript", "target": "$attributes.set(\"name\", \"user1\"); return $attributes.get(\"name\")", "targets": [], "value": "user_name" }, { "id": "1d760093-15a2-44ed-ac41-00a08f67ed8b", "comment": "echo user insights result", "command": "echo", "target": "This is my user name: ${user_name}", "targets": [], "value": "" }
Örnek
Aşağıdaki örnekte Selenium komutları, YönOrtamıcı tarayıcı testi API ' lerini ve genel değişkenleri çağırır.
Not: < proxy_server> değişkenini gerçek yetkili sunucunuzla değiştirin.
{
"id": "04e7ae01-927d-4937-acbd-f35f5f8de715",
"version": "2.0",
"name": "search-engine",
"url": "https://www.google.com",
"tests": [{
"id": "868fa683-e289-47bb-82de-c347c99d9ba8",
"name": "search instana",
"commands": [{
"id": "10d09a25-d101-43b0-84df-f22265b7cec6",
"comment": "proxy_store_json",
"command": "storeJson",
"target": "{\"proxy\": \"<proxy_server>:8080\", \"noproxy\": \"localhost,192.168.1.0/24\"}",
"targets": [],
"value": "proxyConfig"
}, {
"id": "a418460e-a0a9-4c68-bbd0-fb78d6495e92",
"comment": "browser_script_api_$network",
"command": "runScript",
"target": "await $network.clearProxy(); await $network.setProxy(${proxyConfig.proxy}, ${proxyConfig.noproxy});",
"targets": [],
"value": ""
},{
"id": "71ac6b1c-fbeb-48d1-80d1-3960862fc577",
"comment": "",
"command": "open",
"target": "/",
"targets": [],
"value": ""
}, {
"id": "99075bf4-411e-4351-804d-e78f5d83824e",
"comment": "",
"command": "type",
"target": "name=q",
"targets": [],
"value": "instana"
}, {
"id": "9f1b06f4-1cfb-4381-9566-2399742a46c2",
"comment": "",
"command": "sendKeys",
"target": "name=q",
"targets": [],
"value": "${KEY_ENTER}"
}, {
"id": "d13e50bd-f698-4a04-9420-701a21dcde8d",
"comment": "",
"command": "waitForElementVisible",
"target": "id=result-stats",
"targets": [],
"value": "5000"
},{
"id": "46eb59c2-5fd6-4481-b3e8-eaaddab79a69",
"comment": "",
"command": "assertTitle",
"target": "instana - Google Search",
"targets": [],
"value": ""
}]
}],
"suites": [{
"id": "a4b81281-f8cf-4870-b802-668af4ee5f04",
"name": "Advanced APIs",
"persistSession": false,
"parallel": false,
"timeout": 300,
"tests": ["868fa683-e289-47bb-82de-c347c99d9ba8"]
}],
"urls": ["https://www.google.com/"],
"plugins": []
}