-
Notifications
You must be signed in to change notification settings - Fork 1
/
translation_fi.json
687 lines (687 loc) · 294 KB
/
translation_fi.json
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
{
"cancel_download": {
"name": "peruuta_lataus",
"doc": "Peruuttaa aktiivisen latauksen.\n\n | =Argumentit= | =Kuvaus= |\n | lataus | `DownloadInfo` -objekti tai latauksen tunniste, joka peruutetaan. |\n\n [https://forum.robotframework.org/t//6478|Kommentti >>]\n ",
"sha256": "99d0b4547fe8d0992f2fd8458160055d429e31d3cda742d70765336979d83945"
},
"close_browser": {
"name": "sulje_selain",
"doc": "Sulkee nykyisen selaimen.\n\n Aktiivinen selain asetetaan selaimeksi, joka oli aktiivinen ennen t\u00e4t\u00e4. Sulkee kaikki t\u00e4m\u00e4n\n selaimen kontekstit ja sivut. Katso `Selain, Konteksti ja Sivu` lis\u00e4tietoja selaimesta ja\n siihen liittyvist\u00e4 k\u00e4sitteist\u00e4.\n\n\n | =Argumentti= | =Kuvaus= |\n | ``selain`` | Suljettava selain. ``NYKYINEN`` valitsee aktiivisen selaimen. ``KAIKKI`` sulkee kaikki selaimet. Kun annetaan selaimen tunniste, kyseinen selain sulkeutuu. |\n\n\n\n Esimerkki:\n | `Sulje Selain` KAIKKI # Sulkee kaikki selaimet\n | `Sulje Selain` NYKYINEN # Sulje nykyinen selain\n | `Sulje Selain` # Sulje nykyinen selain\n | `Sulje Selain` ${id} # Sulje tunnistetta vastaava selain\n\n [https://forum.robotframework.org/t//4239|Kommentti >>]\n ",
"sha256": "090ec47d8e3c8b1ff3482529d5d03c7373672a5d732822124fc1c53e64106c77"
},
"close_browser_server": {
"name": "sulje_selain_palvelin",
"doc": "Palauttaa evästeen tiedot nimi -nimellä Robot Frameworkin pistetietueena tai merkkijonona.\n\n | =Argumentit= | =Kuvaus= |\n | eväste | Haettavan evästeen nimi. |\n | paluutyyppi | Paluuarvon tyyppi. Voi olla joko dictionary tai string. Oletusarvo on dictionary. |\n\n Jos paluutyyppi on dictionary tai dict, avainsana palauttaa Robot Frameworkin\n [https://robotframework.org/robotframework/latest/RobotFrameworkUserGuide.html#accessing-list-and-dictionary-items|pistetietueen]\n Tietue sisältää evästeen kaikki mahdolliset avain-arvo-parit. Jos paluutyyppi on string tai str,\n avainsana palauttaa evästeen merkkijonona muodossa: nimi1=arvo1. Paluuarvo sisältää vain\n evästeen nimi ja arvo -avaimet.\n\n Jos evästettä ei löydy nimi:llä, avainsana epäonnistuu. Eväste-dictionary sisältää\n yksityiskohtia evästeestä. Taulukossa alla olevat avaimet on dokumentoitu.\n\n | Arvo | Selitys |\n | nimi | Evästeen nimi, pakollinen. |\n | arvo | Evästeen arvo, pakollinen. |\n | url | Määrittelee evästeen soveltamisalan, mihin URL-osoitteisiin evästeet tulisi lähettää. |\n | domain | Määrittelee, mitkä isäntäkoneet saavat vastaanottaa evästeen. |\n | polku | Osoittaa URL-polun, joka on oltava pyydetyssä URL-osoitteessa, esimerkiksi /. |\n | vanhenee | Evästeen elinikä. Palautetaan datatime-objektina tai None, jos kelvollista aikaa ei saada. |\n | httpOnly | Jos tosi, evästettä ei voi käyttää JavaScriptin kautta. |\n | turvallinen | Jos tosi, evästettä käytetään vain HTTPS-yhteyksissä. |\n | samaSivu | Attribuutti mahdollistaa palvelimia vaatimaan, ettei evästettä saa lähettää ristikkäisiin pyyntöihin. |\n\n Katso\n [https://playwright.dev/docs/api/class-browsercontext#browsercontextaddcookiescookies|playwrightin dokumentaatio]\n yksityiskohtia kustakin attribuutista.\n\n Esimerkki:\n | ${eväste}= Hae eväste Foobar\n | Pitäisi olla yhtä suuri ${eväste.arvo} Tidii\n | Pitäisi olla yhtä suuri ${eväste.vanhenee.year} ${2020}\n\n [https://forum.robotframework.org/t//4265|Kommentti >>]\n ",
"sha256": "0b5f959d608daeb542be4370265973ddd943eda43eab727c953cfd5c8ddf2b95"
},
"close_context": {
"name": "sulje_konteksti",
"doc": "Sulkee kontekstin.\n\n Aktiivinen konteksti asetetaan kontekstiksi, joka oli aktiivinen ennen t\u00e4t\u00e4. Sulkee t\u00e4h\u00e4n kontekstiin kuuluvat sivut.\n Katso `Selain, Konteksti ja Sivu` lis\u00e4tietoja kontekstista ja siihen liittyvist\u00e4 k\u00e4sitteist\u00e4.\n\n | =Argumentti= | =Kuvaus= |\n | ``konteksti`` | Suljettava konteksti. ``NYKYINEN`` valitsee aktiivisen kontekstin. ``KAIKKI`` sulkee kaikki kontekstit. Kun annetaan kontekstin tunniste, kyseinen konteksti sulkeutuu. |\n | ``selain`` | Selain, jossa konteksti suljetaan. ``NYKYINEN`` valitsee aktiivisen selaimen. ``KAIKKI`` sulkee kaikki selaimet. Kun annetaan selaimen tunniste, kyseinen selain sulkeutuu. |\n\n Esimerkki:\n | `Sulje Konteksti` # Sulkee nykyisen kontekstin ja nykyisen selaimen\n | `Sulje Konteksti` NYKYINEN NYKYINEN # Sulkee nykyisen kontekstin ja nykyisen selaimen\n | `Sulje Konteksti` KAIKKI NYKYINEN # Sulkee kaikki nykyisen selaimen kontekstit ja nykyisen selaimen\n | `Sulje Konteksti` KAIKKI KAIKKI # Sulkee kaikki nykyisen selaimen kontekstit ja kaikki selaimet\n\n [https://forum.robotframework.org/t//4240|Kommentti >>]\n ",
"sha256": "3d0f7ba862f2b7f1fbbd4a635ceb358124fa2c92c71980cbf155871cb0387334"
},
"close_page": {
"name": "sulje_sivu",
"doc": "Sulkee ``sivun`` ``kontekstissa`` ``selaimessa``.\n\n Oletusarvoisesti nykyiselle kaikille kolmelle. Aktiivinen sivu asetetaan sivuksi, joka oli aktiivinen ennen t\u00e4t\u00e4.\n Katso `Selain, Konteksti ja Sivu` lis\u00e4tietoja sivusta ja siihen liittyvist\u00e4 k\u00e4sitteist\u00e4.\n\n ``runBeforeUnload`` m\u00e4\u00e4rittelee, miss\u00e4 suoritetaan\n [https://developer.mozilla.org/en-US/docs/Web/API/Window/beforeunload_event|ennen purkautumista]\n sivunk\u00e4sittelij\u00e4t. Oletusarvoisesti ep\u00e4tosi.\n\n\n | =Argumentti= | =Kuvaus= |\n | ``sivu`` | Suljettava sivu. ``NYKYINEN`` valitsee aktiivisen sivun. ``KAIKKI`` sulkee kaikki sivut. Kun annetaan sivun tunniste, kyseinen sivu sulkeutuu. |\n | ``konteksti`` | Konteksti, jossa sivu suljetaan. ``NYKYINEN`` valitsee aktiivisen kontekstin. ``KAIKKI`` sulkee kaikki kontekstit. Kun annetaan kontekstin tunniste, kyseinen konteksti sulkeutuu. |\n | ``selain`` | Selain, jossa sivu suljetaan. ``NYKYINEN`` valitsee aktiivisen selaimen. ``KAIKKI`` sulkee kaikki selaimet. Kun annetaan selaimen tunniste, kyseinen selain sulkeutuu. |\n\n Palauttaa listan sanakirjoista, jotka sis\u00e4lt\u00e4v\u00e4t tunnisteen, virheet ja konsoliviestit sivulta.\n\n Esimerkki\n | `Sulje Sivu` # Sulkee nykyisen sivun, nykyisen kontekstin ja selaimen sis\u00e4ll\u00e4\n | `Sulje Sivu` NYKYINEN NYKYINEN NYKYINEN # Sulkee nykyisen sivun, nykyisen kontekstin ja selaimen sis\u00e4ll\u00e4\n | `Sulje Sivu` KAIKKI KAIKKI KAIKKI # Sulkee kaikki sivut, kaikissa konteksteissa ja selaimissa\n\n [https://forum.robotframework.org/t//4241|Kommentti >>]\n ",
"sha256": "84dcc8d2ce93d2b5280c7f671bbb5b87025a52b0123e55a8888b4ac10c2bd7e8"
},
"connect_to_browser": {
"name": "yhdist\u00e4_selaimelle",
"doc": "Yhdist\u00e4 Playwright-selaimen palvelimeen playwrightin verkkosoketin tai Chrome DevTools -protokollan kautta.\n\n Katso `Launch Browser Server` lis\u00e4tietoja siit\u00e4, miten k\u00e4ynnistet\u00e4\u00e4n Playwright-selaimen palvelin.\n\n Katso `Selain, Konteksti ja Sivu` lis\u00e4tietoja selaimesta ja siihen liittyvist\u00e4 k\u00e4sitteist\u00e4.\n\n Palauttaa vakaan tunnisteen yhdistetylle selaimelle.\n\n | =Argumentti= | =Kuvaus= |\n | ``wsEndpoint`` | Osoite, johon yhdistet\u00e4\u00e4n. Joko ``ws://`` tai ``http://`` jos k\u00e4ytet\u00e4\u00e4n cdp:t\u00e4. |\n | ``selain`` | Avaa m\u00e4\u00e4ritetyn selaimen. Oletusarvoisesti ``chromium``. |\n | ``k\u00e4yt\u00e4_cdp`` | Yhdist\u00e4 selaimelle Chrome DevTools -protokollan kautta. Oletusarvoisesti ep\u00e4tosi. Toimii vain kromiin perustuvien selainten kanssa. |\n\n Selaimelle yhdist\u00e4miseksi Chrome DevTools -protokollan kautta selaimen on k\u00e4ynnistytt\u00e4v\u00e4 t\u00e4m\u00e4 protokolla k\u00e4yt\u00f6ss\u00e4.\n T\u00e4m\u00e4 tapahtuu yleens\u00e4 k\u00e4ynnist\u00e4m\u00e4ll\u00e4 Chrome-selain argumentilla ``--remote-debugging-port=9222`` tai vastaavalla.\n Kun selain toimii aktiivisena CDP:ll\u00e4, on mahdollista yhdist\u00e4\u00e4 siihen joko verkkosoketin (``ws://``)\n tai HTTP:n (``http://``) kautta. HTTP-yhteys voidaan ottaa k\u00e4ytt\u00f6\u00f6n, kun ``k\u00e4yt\u00e4_cdp`` on asetettu todeksi.\n Tyypillinen osoite CDP-yhteydelle on ``http://127.0.0.1:9222``.\n\n [https://forum.robotframework.org/t//4242|Kommentti >>]\n ",
"sha256": "21c9d25df1d09bbda5aa28b65d8b4b6065b36fafe1b9e44606e73397b2970494"
},
"get_browser_catalog": {
"name": "hanki_selainkatalogi",
"doc": "Palauttaa kaikki selaimet, niiden avoimet kontekstit ja n\u00e4iss\u00e4 konteksteissa avoimet sivut.\n\n Katso `Selain, Konteksti ja Sivu` lis\u00e4tietoja n\u00e4ist\u00e4 k\u00e4sitteist\u00e4.\n\n | =Argumentit= | =Kuvaus= |\n | assertion_operator | Valinnainen tarkistusoperaattori. Katso lis\u00e4tietoja `V\u00e4itteet`-osiosta. |\n | assertion_expected | Valinnainen odotettu arvo. Katso lis\u00e4tietoja `V\u00e4itteet`-osiosta. |\n | viesti | Valinnainen mukautettu viesti ep\u00e4onnistumistilanteessa. Katso lis\u00e4tietoja `V\u00e4itteet`-osiosta. |\n\n Data j\u00e4sentyy Pythonin listaksi, joka sis\u00e4lt\u00e4\u00e4 avoimia objekteja edustavia tietoja.\n\n Juuritasolla data sis\u00e4lt\u00e4\u00e4 listan avoimista selaimista.\n\n Dataa voidaan manipuloida my\u00f6s ``assertion_operator`` avulla esimerkiksi l\u00f6yt\u00e4\u00e4kseen\n tietyn tunnisteen indeksin tai sivun otsikon avulla ``then``-operaattorilla.\n\n Paluuarvoa voidaan my\u00f6s verrata odotettuun arvoon.\n\n Esimerkki:\n | [\n | {\n | \"tyyppi\": \"chromium\",\n | \"id\": \"browser=96207191-8147-44e7-b9ac-5e04f2709c1d\",\n | \"kontekstit\": [\n | {\n | \"tyyppi\": \"konteksti\",\n | \"id\": \"context=525d8e5b-3c4e-4baa-bfd4-dfdbc6e86089\",\n | \"aktiivinenSivu\": \"page=f90c97b8-eaaf-47f2-98b2-ccefd3450f12\",\n | \"sivut\": [\n | {\n | \"tyyppi\": \"sivu\",\n | \"otsikko\": \"Robocorp\",\n | \"url\": \"https://robocorp.com/\",\n | \"id\": \"page=7ac15782-22d2-48b4-8591-ff17663fa737\",\n | \"aikaleima\": 1598607713.858\n | },\n | {\n | \"tyyppi\": \"sivu\",\n | \"otsikko\": \"Home - Reaktor\",\n | \"url\": \"https://www.reaktor.com/\",\n | \"id\": \"page=f90c97b8-eaaf-47f2-98b2-ccefd3450f12\",\n | \"aikaleima\": 1598607714.702\n | }\n | ]\n | }\n | ],\n | \"aktiivinenKonteksti\": \"context=525d8e5b-3c4e-4baa-bfd4-dfdbc6e86089\",\n | \"aktiivinenSelain\": false\n | },\n | {\n | \"tyyppi\": \"firefox\",\n | \"id\": \"browser=ad99abac-17a9-472b-ac7f-d6352630834e\",\n | \"kontekstit\": [\n | {\n | \"tyyppi\": \"konteksti\",\n | \"id\": \"context=bc64f1ba-5e76-46dd-9735-4bd344afb9c0\",\n | \"aktiivinenSivu\": \"page=8baf2991-5eaf-444d-a318-8045f914e96a\",\n | \"sivut\": [\n | {\n | \"tyyppi\": \"sivu\",\n | \"otsikko\": \"Software-Qualit\u00e4tssicherung und Softwaretest\",\n | \"url\": \"https://www.imbus.de/\",\n | \"id\": \"page=8baf2991-5eaf-444d-a318-8045f914e96a\",\n | \"aikaleima\": 1598607716.828\n | }\n | ]\n | }\n | ],\n | \"aktiivinenKonteksti\": \"context=bc64f1ba-5e76-46dd-9735-4bd344afb9c0\",\n | \"aktiivinenSelain\": true\n | }\n | ]\n\n [https://forum.robotframework.org/t//4259|Kommentti >>]\n ",
"sha256": "afbc7f64d995f62d9b7889309e58b8a6ca5128ba546e0906cdec8da697cd71e6"
},
"get_browser_ids": {
"name": "hanki_selaimen_tunnisteet",
"doc": "Palauttaa avoimien selainten tunnisteiden listan.\n Katso `Selain, Konteksti ja Sivu` lis\u00e4tietoja selaimesta ja siihen liittyvist\u00e4 k\u00e4sitteist\u00e4.\n\n\n ``selain`` Oletusarvo on ``KAIKKI``\n - ``KAIKKI`` / ``MIK\u00c4 TAHANSA`` Palauttaa kaikki tunnisteet listana.\n - ``AKTIIVINEN`` / ``NYKYINEN`` Palauttaa t\u00e4ll\u00e4 hetkell\u00e4 aktiivisen selaimen tunnisteen listana.\n\n | =Argumentit= | =Kuvaus= |\n | ``selain`` | Selain, josta tunnisteet halutaan hakea. ``KAIKKI`` kaikista avoimista selaimista, ``AKTIIVINEN`` t\u00e4ll\u00e4 hetkell\u00e4 aktiivisesta selaimesta tai selaimen tunniste, josta tunnisteet halutaan hakea. |\n\n AKTIIVINEN selain on synonyymi NYKYISELLE selaimelle.\n\n [https://forum.robotframework.org/t//4260|Kommentti >>]\n ",
"sha256": "b2011b7f9a760de8465b871d89b53f4349d53bd2e5c8aa27770592746a17e458"
},
"get_console_log": {
"name": "hanki_konsoliloki",
"doc": "Palauttaa aktiivisen sivun konsolilokin.\n\n Jos v\u00e4itteit\u00e4 k\u00e4ytet\u00e4\u00e4n ja ne ep\u00e4onnistuvat, t\u00e4m\u00e4 avainsana ep\u00e4onnistuu v\u00e4litt\u00f6m\u00e4sti ilman uudelleenyrityst\u00e4.\n\n | =Argumentit= | =Kuvaus= |\n | assertion_operator | Valinnainen v\u00e4itteiden operaattori. Katso lis\u00e4tietoja `V\u00e4itteet`-osiosta. |\n | assertion_expected | Valinnainen odotettu arvo. Katso lis\u00e4tietoja `V\u00e4itteet`-osiosta. |\n | viesti | Valinnainen mukautettu viesti ep\u00e4onnistumistilanteessa. Katso lis\u00e4tietoja `V\u00e4itteet`-osiosta. |\n | full | Jos tosi, palauttaa koko konsolilokin. Jos ep\u00e4tosi, palauttaa vain uudet merkinn\u00e4t, jotka on lis\u00e4tty viime kerrasta l\u00e4htien. |\n | last | Jos asetettu, palauttaa vain viimeiset n merkint\u00e4\u00e4. Voi olla `int`-muotoinen merkkijono merkint\u00f6jen lukum\u00e4\u00e4r\u00e4ksi tai `timedelta`-muotoinen aikav\u00e4liksi. |\n\n Palautettu data on konsoliviestien `list`.\n\n Konsoliviesti on `dict` seuraavalla rakenteella:\n | {\n | \"type\": str,\n | \"text\": str,\n | \"location\": {\n | \"url\": str,\n | \"lineNumber\": int,\n | \"columnNumber\": int\n | },\n | \"time\": str\n | }\n\n Esimerkki:\n | [{\n | 'type': 'log',\n | 'text': 'Stuff loaded...',\n | 'location': {\n | 'url': 'https://example.com/js/chunk-769742de.6a462276.js',\n | 'lineNumber': 60,\n | 'columnNumber': 63771\n | },\n | 'time': '2023-02-05T17:42:52.064Z'\n | }]\n\n Avaimet:\n | =Avain= | =Kuvaus= |\n | ``type`` | Yksi seuraavista arvoista: ``log``, ``debug``, ``info``, ``error``, ``warning``, ``dir``, ``dirxml``, ``table``, ``trace``, ``clear``, ``startGroup``, ``startGroupCollapsed``, ``endGroup``, ``assert``, ``profile``, ``profileEnd``, ``count``, ``timeEnd`` |\n | ``text`` | Konsoliviestin teksti. |\n | ``location.url`` | T\u00e4m\u00e4n viestin luoneen resurssin URL. |\n | ``location.lineNumber`` | T\u00e4m\u00e4n viestin luoneen resurssin rivinumero (nollapohjainen). |\n | ``location.columnNumber`` | T\u00e4m\u00e4n viestin luoneen resurssin sarakenumero (nollapohjainen). |\n | ``time`` | Lokiviestin aikaleima ISO 8601 -merkkijonona. |\n\n [https://forum.robotframework.org/t//5267|Kommentti >>]\n ",
"sha256": "2d364d4b533b0fa29bb1755fea098b0abd92b4f4d87499839e9937c826037e69"
},
"get_context_ids": {
"name": "hanki_kontekstitunnukset",
"doc": "Palauttaa luettelon kontekstin tunnisteista selaimen valinnan perusteella.\nKatso Selain, Konteksti ja Sivu lis\u00e4tietoja Kontekstista ja siihen liittyvist\u00e4 k\u00e4sitteist\u00e4.\n\nALL ja ANY ovat synonyymej\u00e4.\nACTIVE ja CURRENT ovat my\u00f6s synonyymej\u00e4.\n\n| =Argumentit= | =Kuvaus= |\n| context | Tunnisteet, jotka halutaan hakea kontekstista. ALL palauttaa kaikki valittujen selainten tunnisteet, ACTIVE palauttaa yhden aktiivisen kontekstin kustakin valitusta selaimesta. |\n| browser | Selain, josta kontekstin tunnisteet halutaan hakea. ALL hakee tunnisteet kaikista avoimista selaimista, ACTIVE hakee tunnisteet vain aktiivisesta selaimesta. |\n\nAKTIIVINEN konteksti AKTIIVISESSA selaimessa on Nykyinen konteksti.\n\n[https://forum.robotframework.org/t//4264|Kommentti >>]\n",
"sha256": "53d57eb1ecf2f78cf61b2d611056402da6405451521f622126b4e283e0481c27"
},
"get_page_errors": {
"name": "hanki_sivuvirheet",
"doc": "Palauttaa aktiivisen sivun virheet.\n\nJos v\u00e4itteit\u00e4 k\u00e4ytet\u00e4\u00e4n ja ne ep\u00e4onnistuvat, t\u00e4m\u00e4 avainsana ep\u00e4onnistuu v\u00e4litt\u00f6m\u00e4sti ilman uudelleenyrityst\u00e4.\n\n| =Argumentit= | =Kuvaus= |\n| assertion_operator | Valinnainen v\u00e4iteoperaattori. Katso `V\u00e4itteet` lis\u00e4tietoja varten. |\n| assertion_expected | Valinnainen odotettu arvo. Katso `V\u00e4itteet` lis\u00e4tietoja varten. |\n| message | Valinnainen mukautettu viesti, joka k\u00e4ytet\u00e4\u00e4n ep\u00e4onnistumisen yhteydess\u00e4. Katso `V\u00e4itteet` lis\u00e4tietoja varten. |\n| full | Jos tosi, palauttaa t\u00e4ydellisen konsoli-lokin. Jos ep\u00e4tosi, palauttaa vain uudet merkinn\u00e4t, jotka on lis\u00e4tty viime kerran j\u00e4lkeen. |\n| last | Jos asetettu, palauttaa vain viimeiset n merkint\u00e4\u00e4. Voi olla `int` merkint\u00f6jen lukum\u00e4\u00e4r\u00e4lle tai `timedelta` aikajaksolle. |\n\nPalautettu tieto on virhesanomien `lista`.\n\nVirhesanoma on `dict` seuraavalla rakenteella:\n| {\n| \"name\": str,\n| \"message\": str,\n| \"stack\": str,\n| \"time\": str\n| }\n\nEsimerkki:\n| [{\n| 'name': 'ReferenceError',\n| 'message': 'YT is not defined',\n| 'stack': 'ReferenceError: YT is not defined\\n at HTMLIFrameElement.onload (https://example.com/:20:2245)',\n| 'time': '2023-02-05T20:08:48.912Z'\n| }]\n\nAvaimet:\n| =Avain= | =Kuvaus= |\n| ``name`` | Virheen nimi/tyyppi. |\n| ``message`` | Ihmisluettava virheviesti. |\n| ``stack`` | Virheen pinon j\u00e4ljitys, jos annettu. |\n| ``time`` | Virheen aikaleima ISO 8601 -merkkijonona. |\n\n[https://forum.robotframework.org/t//5268|Kommentti >>]\n",
"sha256": "0d99f3b45fed5b63ad6fbc5e5c3900b3d8c98a8e93ab4f8d865d97271ba7d969"
},
"get_page_ids": {
"name": "hanki_sivutunnukset",
"doc": "Palauttaa sivun tunnisteiden luettelon kontekstin ja selaimen valinnan perusteella.\nKatso `Selain, Konteksti ja Sivu` lis\u00e4tietoja Sivusta ja siihen liittyvist\u00e4 k\u00e4sitteist\u00e4.\n\n``ALL`` ja ``ANY`` ovat synonyymej\u00e4.\n``ACTIVE`` ja ``CURRENT`` ovat my\u00f6s synonyymej\u00e4.\n\n| =Argumentit= | =Kuvaus= |\n| ``page`` | Sivu, josta halutaan hakea tunnisteet. ``ALL`` Palauttaa kaikki sivun tunnisteet listana. ``ACTIVE`` Palauttaa aktiivisen sivun tunnisteen listana. |\n| ``context`` | Konteksti, josta halutaan hakea sivun tunnisteet. ``ALL`` Haetaan sivun tunnisteet kaikista konteksteista. ``ACTIVE`` Haetaan sivun tunnisteet vain aktiivisesta kontekstista. |\n| ``browser`` | Selain, josta halutaan hakea sivun tunnisteet. ``ALL`` Haetaan sivun tunnisteet kaikista avoimista selaimista. ``ACTIVE`` Haetaan sivun tunnisteet vain aktiivisesta selaimesta. |\n\nEsimerkki:\n| Testitapaus\n| `Uusi Sivu` http://www.imbus.de\n| `Uusi Sivu` http://www.reaktor.com\n| ${current_page}= `Get Page IDs` ACTIVE ACTIVE ACTIVE\n| Log Nykyinen sivun tunniste on: ${current_page}[0]\n| ${all_pages}= `Get Page IDs` CURRENT CURRENT ALL\n| Log Monet N\u00e4m\u00e4 ovat kaikki sivun tunnisteet @{all_pages}\n\nAKTIIVINEN sivu AKTIIVISESSA kontekstissa AKTIIVISESSA selaimessa on ``Nykyinen`` sivu.\n\n[https://forum.robotframework.org/t//4274|Kommentti >>]\n",
"sha256": "0a1e0f40ac01c62a182f71d16e824be76eaba829d7058a3f3208cc4aef666592"
},
"launch_browser_server": {
"name": "k\u00e4ynnist\u00e4_selainpalvelin",
"doc": "K\u00e4ynnist\u00e4\u00e4 uuden Playwright-selainpalvelimen m\u00e4\u00e4ritetyill\u00e4 asetuksilla.\n\nPalauttaa websocket-p\u00e4\u00e4tepisteen (wsEndpoint) merkkijonon, jota voidaan k\u00e4ytt\u00e4\u00e4 yhteyden muodostamiseen palvelimeen.\n\n| =Argumentit= | =Kuvaus= |\n| ``port`` | Portti, jota k\u00e4ytet\u00e4\u00e4n selainpalvelimelle. Oletusarvoisesti 0, mik\u00e4 johtaa satunnaisesti vapaan portin m\u00e4\u00e4r\u00e4\u00e4miseen. |\n| ``wsPath`` | Jos asetettu, Playwright kuuntelee annettua polkua p\u00e4\u00e4portin lis\u00e4ksi. Turvallisuuden vuoksi t\u00e4m\u00e4 oletusarvo on arvaamaton merkkijono. |\n\nKatso `Uusi Selain` muut argumenttiasiakirjat.\n\nK\u00e4ynnistetty\u00e4 selainpalvelinta voidaan k\u00e4ytt\u00e4\u00e4 siihen yhteyden muodostamiseen `Yhdist\u00e4 Selaimelle` -avainsanalla.\nT\u00e4t\u00e4 avainsanaa voidaan k\u00e4ytt\u00e4\u00e4 my\u00f6s komentorivilt\u00e4 ``rfbrowser launch-browser-server`` -komennolla.\n\nKatso lis\u00e4tietoja [https://playwright.dev/docs/api/class-browserserver#browser-server|Playwrightin dokumentaatiosta].\n\n[https://forum.robotframework.org/t//4306|Kommentti >>]\n",
"sha256": "95e34a1d31eee35604f6fef2f304c257d69ec965b909c0d73ae22d6264961880"
},
"new_browser": {
"name": "uusi_selain",
"doc": "Luo uuden Playwright-selaimen m\u00e4\u00e4ritetyill\u00e4 asetuksilla.\n\nKatso `Selain, Konteksti ja Sivu` lis\u00e4tietoja Selaimesta ja siihen liittyvist\u00e4 k\u00e4sitteist\u00e4.\n\nPalauttaa vakioitunnuksen luodulle selaimelle.\n\n| =Argumentit= | =Kuvaus= |\n| ``browser`` | Avaa m\u00e4\u00e4ritetyn [#type-SupportedBrowsers|selaimen]. Oletusarvoisesti kromi. |\n| ``headless`` | Aseta ep\u00e4todeksi, jos haluat graafisen k\u00e4ytt\u00f6liittym\u00e4n. Oletusarvoisesti tosi. |\n| ``args`` | Lis\u00e4argumentit, jotka v\u00e4litet\u00e4\u00e4n selaininstanssille. Chromium-lippujen luettelo l\u00f6ytyy [http://peter.sh/experiments/chromium-command-line-switches/|t\u00e4\u00e4lt\u00e4]. Oletusarvoisesti Ei mit\u00e4\u00e4n. |\n| ``channel`` | Sallii toiminnan perusversiolla Google Chromen ja Microsoft Edgen selaimista. Katso lis\u00e4tietoja: [https://playwright.dev/docs/browsers#google-chrome--microsoft-edge|Playwrightin dokumentaatiosta]. |\n| ``chromiumSandbox`` | Ota k\u00e4ytt\u00f6\u00f6n Chromium-hiekkalaatikko. Oletusarvoisesti ep\u00e4tosi. |\n| ``devtools`` | Vain Chromium Onko avattava kehitt\u00e4j\u00e4ty\u00f6kalupaneeli jokaiselle v\u00e4lilehdelle automaattisesti. |\n| ``downloadsPath`` | Jos m\u00e4\u00e4ritetty, hyv\u00e4ksytyt lataukset ladataan t\u00e4h\u00e4n kansioon. Muuten luodaan v\u00e4liaikainen kansio, joka poistetaan, kun selain suljetaan. Tiedoston poistamisesta katso `Lataus` ja `Lupaus Odottaa Latausta` -asiakirjat. |\n| ``env`` | M\u00e4\u00e4ritt\u00e4\u00e4 ymp\u00e4rist\u00f6muuttujat, jotka ovat n\u00e4kyviss\u00e4 selaimelle. Sanakirjan avaimet ovat muuttujanimi\u00e4, arvot ovat sis\u00e4lt\u00f6\u00e4. Oletusarvoisesti Ei mit\u00e4\u00e4n. |\n| ``executablePath`` | Polku selaimen k\u00e4ynnistett\u00e4v\u00e4\u00e4n suoritettavaan tiedostoon paketoidun sijaan. Jos executablePath on suhteellinen polku, se ratkaistaan nykyisen ty\u00f6skentelykansion suhteen. Huomaa, ett\u00e4 Playwright toimii vain pakatun Chromiumin, Firefoxin tai WebKitin kanssa, k\u00e4yt\u00e4 omalla vastuullasi. Oletusarvoisesti Ei mit\u00e4\u00e4n. |\n| ``firefoxUserPrefs`` | Firefoxin k\u00e4ytt\u00e4j\u00e4asetukset. Lis\u00e4tietoja Firefoxin k\u00e4ytt\u00e4j\u00e4asetuksista l\u00f6ytyy osoitteesta [https://support.mozilla.org/en-US/kb/about-config-editor-firefox|about:config]. |\n| ``handleSIGHUP`` | Sulje selaimen prosessi SIGHUP-signaalilla. Oletusarvoisesti tosi. |\n| ``handleSIGINT`` | Sulje selaimen prosessi Ctrl-C:ll\u00e4. Oletusarvoisesti tosi. |\n| ``handleSIGTERM`` | Sulje selaimen prosessi SIGTERM-signaalilla. Oletusarvoisesti tosi. |\n| ``ignoreDefaultArgs`` | Jos tosi, Playwright ei v\u00e4lit\u00e4 omia konfiguraatio-argumenttejaan, vaan k\u00e4ytt\u00e4\u00e4 vain niit\u00e4 argsista. Jos annetaan lista, suodattaa annetut oletusargumentit. Vaarallinen vaihtoehto; k\u00e4yt\u00e4 varoen. Oletusarvoisesti ep\u00e4tosi. |\n| ``proxy`` | Verkko [#type-Proxy|Proxy] -asetukset. Rakenne: ``{'server': <str>, 'bypass': <Optional[str]>, 'username': <Optional[str]>, 'password': <Optional[str]>}`` |\n| ``reuse_existing`` | Jos asetetaan todeksi, olemassa oleva selaininstanssi, joka vastaa samoja argumentteja, k\u00e4ytet\u00e4\u00e4n uudelleen. Jos vastaavaa m\u00e4\u00e4ritetty\u00e4 Selainta ei ole, aloitetaan uusi. Oletusarvoisesti tosi. |\n| ``slowMo`` | Hidastaa Playwright-toimintoja m\u00e4\u00e4ritetyll\u00e4 m\u00e4\u00e4r\u00e4ll\u00e4 millisekunteja. Hy\u00f6dyllinen, jotta voit n\u00e4hd\u00e4, mit\u00e4 tapahtuu. Oletusarvoisesti ei viivett\u00e4. |\n| ``timeout`` | Maksimiaika Robot Frameworkin aikamuodossa odottaa selaininstanssin k\u00e4ynnistymist\u00e4. Oletusarvoisesti 30 sekuntia. Aseta 0 poistaaksesi aikakatkaisun. |\n\n\n[https://forum.robotframework.org/t//4306|Kommentti >>]\n",
"sha256": "35ba9e9d0b39a461e0bf8e548d6c3d9fb256b85c5be9de0c1a7fd837f43c8ca0"
},
"new_context": {
"name": "uusi_konteksti",
"doc": "Luo uusi BrowserContext määritetyillä asetuksilla.\n\n Katso lisätietoja `Selaimesta, Kontekstista ja Sivusta` BrowserContextista.\n\n Palauttaa vakaan tunnisteen luodulle kontekstille,\n jota voidaan käyttää `Vaihda Konteksti`-komennossa.\n\n\n | =Argumentit= | =Kuvaus= |\n | ``acceptDownloads`` | Lataako automaattisesti kaikki liitteet. Oletuksena True, jolloin kaikki lataukset hyväksytään. |\n | ``baseURL`` | Kun käytät `Siirry`, `Odota Pyyntöä`, `Odota Vastausta` tai `Odota Navigointia`, se ottaa huomioon perus-URL:n käyttämällä URL()-rakentajaa vastaavan URL:n muodostamiseksi. Oletuksena ei ole asetettu. Esimerkkejä: ``baseURL=http://localhost:3000`` ja navigointi ``/bar.html`` tuloksena on ``http://localhost:3000/bar.html``. ``baseURL=http://localhost:3000/foo/`` ja navigointi ``./bar.html`` tuloksena on ``http://localhost:3000/foo/bar.html``. ``baseURL=http://localhost:3000/foo`` (ilman loppuviivaa) ja navigointi ``./bar.html`` tuloksena on ``http://localhost:3000/bar.html``. |\n | ``bypassCSP`` | Ohittaa sivun Content-Security-Policy:n. Oletuksena False. |\n | ``colorScheme`` | Emuloi `'prefers-color-scheme'` mediaominaisuutta, tuetut arvot ovat `'light'`, `'dark'`, `'no-preference'`. |\n | ``defaultBrowserType`` | Jos selain ei ole auki ja `Uusi Konteksti` avaa uuden selaimen oletusasetuksilla, se käyttää tätä asetusta. Hyödyllinen `Hanki Laite`-komennon kanssa. |\n | ``deviceScaleFactor`` | Määritä laitteen skaalakerroin (voisi ajatella dpr:ksi). Oletuksena ``1``. |\n | ``extraHTTPHeaders`` | Sanakirja, joka sisältää lisättyjä HTTP-otsikoita, jotka lähetetään jokaisen pyynnön mukana. Kaikkien otsikoiden arvojen on oltava merkkijonoja. |\n | ``forcedColors`` | Emuloi `forced-colors` mediaominaisuutta, tuetut arvot ovat `active` ja `none`. |\n | ``geolocation`` | Sanakirja, joka sisältää ``leveysaste`` ja ``pituusaste`` tai ``tarkkuus`` emulointia varten. Jos ``leveysaste`` tai ``pituusaste`` ei ole määritetty, laitteen sijainti ei muutu. |\n | ``hasTouch`` | Määrittää, tukeeko näkymä kosketustapahtumia. Oletuksena False. |\n | ``httpCredentials`` | Tunnukset [https://developer.mozilla.org/en-US/docs/Web/HTTP/Authentication|HTTP-todennukseen]. |\n | ``ignoreHTTPSErrors`` | Ohittaako HTTPS-virheet navigoinnin aikana. Oletuksena False. |\n | ``isMobile`` | Ottaako meta viewport -tagin huomioon ja onko kosketustapahtumat käytössä. Oletuksena False. |\n | ``javaScriptEnabled`` | Onko JavaScript käytössä kontekstissa. Oletuksena True. |\n | ``locale`` | Määritä käyttäjän sijainti, esimerkiksi ``en-GB``, ``de-DE`` jne. |\n | ``offline`` | Ottaa selaimen offline-tilan käyttöön. Oletuksena False. |\n | ``permissions`` | Lista, joka sisältää oikeudet, jotka myönnetään kaikille tämän kontekstin sivuille. Kaikki täällä mainitsemattomat oikeudet evätään automaattisesti. |\n | ``proxy`` | Verkkovälityspalvelimen asetukset tämän kontekstin kanssa käytettäväksi. Oletuksena ei käytössä. *HUOM:* Chromessa Windowsissa selain on käynnistettävä globaaleilla välityspalvelimen asetuksilla, jotta tämä vaihtoehto toimii. Jos kaikki kontekstit ohittavat välityspalvelimen, globaalia välityspalvelinta ei koskaan käytetä, ja se voi olla mikä tahansa merkkijono, esimerkiksi ``proxy={ palvelin: 'http://per-context' }``. |\n | ``recordHar`` | Ottaa käyttöön [http://www.softwareishard.com/blog/har-12-spec/|HAR]-tiedostojen tallennuksen kaikille sivuille tiedostoon. On oltava polku tiedostoon, esimerkki ${OUTPUT_DIR}/har.tiedosto. Jos ei ole määritetty, HAR-tiedostoa ei tallenneta. Varmista, että odotat kontekstin sulkemista, jotta tiedosto tallentuu. |\n | ``recordVideo`` | Ottaa käyttöön videoiden tallennuksen kaikille sivuille kansioon. Jos ei ole määritetty, videoita ei tallenneta. Varmista, että suljet kontekstin, jotta videot tallentuvat. Video ei ole tuettu etäselaimissa. |\n | ``reduceMotion`` | Emuloi `prefers-reduced-motion` mediaominaisuutta, tuetut arvot ovat `reduce`, `no-preference`. |\n | ``screen`` | Emuloi yhdenmukaisen ikkunan näytön koon, joka on käytettävissä verkkosivulla window.screenin kautta. Käytetään vain, kun näkymä on asetettu. Esimerkki {'width': 414, 'height': 896} |\n | ``serviceWorkers`` | Sallitaanko sivustojen rekisteröidä Service workers. Oletuksena 'allow'. |\n | ``storageState`` | Palauttaa `Tallenna Tallennustila`-komennolla tallennetun tallennustilan. On oltava koko polku tiedostoon. |\n | ``timezoneId`` | Muuttaa kontekstin aikavyöhykettä. Katso [https://source.chromium.org/chromium/chromium/src/+/master:third_party/icu/source/data/misc/metaZones.txt|ICU:n metaZones.txt] tuettujen aikavyöhykkeiden tunnuksia varten. |\n | ``tracing`` | Tiedostonimi, johon [https://playwright.dev/docs/api/class-tracing/|jäljitystiedosto] tallennetaan. Esimerkki trace.zip tallennetaan ${OUTPUT_DIR}/traces.zip. Väliaikaiset jäljitystiedostot tallennetaan ${OUTPUT_DIR}/Browser/traces. Jos tiedostonimi on määritetty, jäljitys on käytössä kaikille kontekstin sivuille. Jäljitys suljetaan automaattisesti, kun konteksti suljetaan. Väliaikaiset jäljitystiedostot poistetaan automaattisesti jokaisen testin alussa. Jäljitystiedosto voidaan avata testin suorittamisen jälkeen ajamalla komento shellistä: ``rfbrowser show-trace /path/to/trace.zip``. |\n | ``userAgent`` | Tietty käyttäjäagentti, jota käytetään tässä kontekstissa. |\n | ``viewport`` | Sanakirja, joka sisältää ``width`` ja ``height``. Emuloi yhdenmukaisen näkymän kullekin sivulle. Oletuksena 1280x720. null poistaa oletusnäkymän käytöstä. Jos ``width`` ja ``height`` on ``0``, näkymä skaalautuu ikkunan kanssa. |\n\n\n Esimerkki:\n | Testaa iPhonea\n | ${laite}= `Hanki Laite` iPhone X\n | `Uusi Konteksti` &{laite} # purkaminen tässä &-merkillä\n | `Uusi Sivu` http://example.com\n\n BrowserContext on Playwright-objekti, joka hallitsee yksittäistä selainprofiilia.\n Kontekstin sisällä välimuisti ja evästeet jaetaan. Katso\n [https://playwright.dev/docs/api/class-browser#browsernewcontextoptions|Playwright browser.newContext]\n luettelo tuetuista asetuksista.\n\n Jos selainta ei ole auki, tämä komento avaa sellaisen. Ei luo sivuja.\n\n [https://forum.robotframework.org/t//4307|Kommentti >>]\n ",
"sha256": "8b8dfa77e2f387840a59b34c319f5a99573c33bffca3c99b64b0d4a3505dc944"
},
"new_page": {
"name": "uusi_sivu",
"doc": "Avaa uuden sivun.\n\n Sivu on Playwrightin vastine v\u00e4lilehdelle. Katso `Selain, Konteksti ja Sivu`\n lis\u00e4tietoja Sivun k\u00e4sitteest\u00e4.\n\n | =Argumentit= | =Kuvaus= |\n | ``url`` | Valinnainen URL-sivulle navigoimiseksi. URL-osoitteen tulisi sis\u00e4lt\u00e4\u00e4 protokollan, esim. `https://` |\n | ``wait_until`` | Milloin pit\u00e4\u00e4 katsella operaation onnistuneen, oletusarvo on load. Tapahtumat voivat olla: ``domcontentloaded`` - katsotaan operaation p\u00e4\u00e4ttyneen, kun DOMContentLoaded-tapahtuma laukaistaan. ``load`` - katsotaan operaation p\u00e4\u00e4ttyneen, kun lataustapahtuma laukaistaan. ``networkidle`` - katsotaan operaation p\u00e4\u00e4ttyneen, kun verkko-yhteyksi\u00e4 ei ole v\u00e4hint\u00e4\u00e4n 500 ms. ``commit`` - katsotaan operaation p\u00e4\u00e4ttyneen, kun verkko-vastaus on vastaanotettu ja asiakirja on aloittanut lataamisen. |\n\n\n Palauttaa `UusiSivuTiedot` sanakirjana luodulle sivulle.\n `UusiSivuTiedot` (dict) sis\u00e4lt\u00e4\u00e4 avaimet ``page_id`` ja ``video_path``. ``page_id`` on vakaa tunniste\n luodulle sivulle. ``video_path`` on polku luotuun videoon tai tyhj\u00e4, jos videota ei ole\n luotu.\n\n Kun `Uusi Sivu` kutsutaan ilman avointa selainta, ensin suoritetaan `Uusi Selain`\n ja `Uusi Konteksti` oletusarvoilla.\n\n [https://forum.robotframework.org/t//4308|Kommentti >>]\n ",
"sha256": "0ace22c358a7c2f1ecf81e7a38060343d6dc805394072f33a15d7633ec7c4197"
},
"new_persistent_context": {
"name": "uusi_pysyv\u00e4_konteksti",
"doc": "Avaa uuden\n [https://playwright.dev/docs/api/class-browsertype#browser-type-launch-persistent-context | pysyv\u00e4n kontekstin].\n\n `Uusi Pysyv\u00e4 Konteksti` suorittaa k\u00e4yt\u00e4nn\u00f6ss\u00e4 `Uusi Selain`, `Uusi Konteksti` ja `Uusi Sivu` yhdess\u00e4 vaiheessa asettaen samalla profiilin.\n\n T\u00e4m\u00e4 avainsana palauttaa kolmikkona selaimen tunnuksen, kontekstin tunnuksen ja sivun tiedot. (Uusi Selainversiossa 15.0.0)\n\n | =Argumentti= | =Kuvaus= |\n | ``userDataDir`` | Polku k\u00e4ytt\u00e4j\u00e4tietojen hakemistoon, joka tallentaa selaimen istuntotiedot kuten ev\u00e4steet ja paikallisen tallennustilan. Lis\u00e4tietoja Chromiumista ja Firefoxista. Huomaa, ett\u00e4 Chromiumin k\u00e4ytt\u00e4j\u00e4tietohakemisto on \"Profiilipolun\" vanhempi hakemisto, joka n\u00e4kyy osoitteessa chrome://version. Anna tyhj\u00e4 merkkijono k\u00e4ytt\u00e4\u00e4ksesi tilap\u00e4ist\u00e4 hakemistoa. |\n | ``browser`` | K\u00e4ytett\u00e4v\u00e4 selaintyyppi. Oletuksena on Chromium. |\n | ``headless`` | Ajetaanko selain p\u00e4\u00e4tt\u00f6m\u00e4ss\u00e4 tilassa. Oletusarvo on ``True``. |\n | muut argumentit | Katso lis\u00e4tietoja muista argumenteista `Uusi Selain`, `Uusi Konteksti` ja `Uusi Sivu`. |\n\n Jos haluat k\u00e4ytt\u00e4\u00e4 laajennuksia, sinun on ladattava laajennus .zip-tiedostona, otettava laajennuksen lataus k\u00e4ytt\u00f6\u00f6n ja ladattava laajennukset k\u00e4ytt\u00e4m\u00e4ll\u00e4 chromium-argumentteja seuraavasti. Laajennukset toimivat vain chromiumin kanssa ja p\u00e4\u00e4tt\u00f6m\u00e4ss\u00e4 selaimessa.\n\n | ${launch_args}= Aseta Muuttuja [\"--disable-extensions-except=./ublock/uBlock0.chromium\", \"--load-extension=./ublock/uBlock0.chromium\"]\n | ${browserId} ${contextId} ${pageDetails}= `Uusi Pysyv\u00e4 Konteksti` selain=chromium headless=False url=https://robocon,io args=${launch_args}\n\n Tarkista `Uusi Selain`, `Uusi Konteksti` ja `Uusi Sivu` tarkkoja argumenttiohjeita varten.\n\n [https://forum.robotframework.org/t//4309|Kommentti >>]\n ",
"sha256": "a34ff08fbf251c8e03715720a3418e6e67d8bfda86a486d8d102cdb1bd1e5e5e"
},
"open_browser": {
"name": "avaa_selain",
"doc": "Avaa uuden selaininstanssin. K\u00e4yt\u00e4 t\u00e4t\u00e4 avainsanaa nopeisiin kokeiluihin tai vianm\u00e4\u00e4rityssessioihin.\n\n K\u00e4yt\u00e4 tuotannossa ja automatisoiduissa suorituksissa `Uusi Sivu` suoraan `Avaa Selain`-sijasta.\n Katso `Selain, Konteksti ja Sivu` lis\u00e4tietoja Selaimen ja niihin liittyvien k\u00e4sitteiden suhteen.\n\n Luo uuden selaimen, kontekstin ja sivun m\u00e4\u00e4ritetyill\u00e4 asetuksilla.\n\n\n | =Argumentti= | =Kuvaus= |\n | ``url`` | Navigoi URL-osoitteeseen, jos annettu. Oletusarvo on Ei mit\u00e4\u00e4n. |\n | ``browser`` | M\u00e4\u00e4ritt\u00e4\u00e4, mit\u00e4 selainta k\u00e4ytet\u00e4\u00e4n. Tuetut selaimet on lueteltu alla olevassa taulukossa. |\n | ``headless`` | Jos asetettu ep\u00e4todeksi, tarjotaan graafinen k\u00e4ytt\u00f6liittym\u00e4, muuten se on piilotettu. Oletusarvo on Ep\u00e4tosi. |\n | ``pause_on_failure`` | Keskeyt\u00e4 suoritus virheen havaitessa ja j\u00e4t\u00e4 selain auki. Oletusarvo on Tosi. |\n | ``bypassCSP`` | Oletusarvoisesti kiert\u00e4\u00e4 CSP ja mahdollistaa mukautetun skriptin liitt\u00e4misen sivulle. |\n\n Selaimet:\n\n | = Arvo = | = Nimi(et) = |\n | ``firefox`` | [https://www.mozilla.org/en-US/firefox/new|Firefox] |\n | ``chromium`` | [https://www.chromium.org/Home|Chromium] |\n | ``webkit`` | [https://webkit.org/|webkit] |\n\n [https://forum.robotframework.org/t//4310|Kommentti >>]\n ",
"sha256": "38f44976ff8bfe779539dadf2f18eae3f6bdac45089542443596bb8d8af11653"
},
"save_storage_state": {
"name": "tallenna_tallennustila",
"doc": "Tallentaa nykyisen aktiivisen kontekstin tallennustilan tiedostoon.\n\n Verkkosovellukset k\u00e4ytt\u00e4v\u00e4t ev\u00e4ste- tai tunnuspohjaista todennusta, miss\u00e4\n todennettu tila tallennetaan\n [https://developer.mozilla.org/en-US/docs/Web/HTTP/Cookies|ev\u00e4steisiin]\n tai\n [https://developer.mozilla.org/en-US/docs/Web/API/Storage|paikalliseen tallennukseen].\n Avainsana noutaa tallennustilan todennetuista konteksteista ja\n tallentaa sen levylle. T\u00e4m\u00e4n j\u00e4lkeen `Uusi Konteksti` voidaan luoda ennaltat\u00e4ytetyll\u00e4\n tilalla.\n\n Huomaa, ett\u00e4 tilatiedosto saattaa sis\u00e4lt\u00e4\u00e4 salaisuuksia eik\u00e4 sit\u00e4 tulisi jakaa\n organisaatiosi ulkopuolisten kanssa.\n\n Tiedosto luodaan ${OUTPUTDIR}/browser/state -kansioon ja tiedostot\n poistetaan automaattisesti, kun uusi testisuoritus alkaa. Avainsana\n palauttaa tiedostopolun.\n\n Esimerkki:\n | Testitapaus\n | `Uusi konteksti`\n | `Uusi Sivu` https://kirjautumissivu.html\n | # Kirjautuminen\n | `T\u00e4yt\u00e4 Salainen` id=k\u00e4ytt\u00e4j\u00e4nimi $k\u00e4ytt\u00e4j\u00e4nimi\n | `T\u00e4yt\u00e4 Salainen` id=salasana $salasana\n | `Klikkaa` id=nappi\n | `Hae Teksti` id=otsikko == Jotain\n | # Tallenna tallennustila levylle\n | ${tilatiedosto} = `Tallenna Tallennustila`\n | # Luo uusi konteksti tallennetulla tilalla\n | `Uusi konteksti` storageState=${tilatiedosto}\n | `Uusi Sivu` https://kirjautumissivu.html\n | # Kirjautumista ei tarvita, koska todennus luetaan tilatiedostosta\n | `Hae Teksti` id=otsikko == Jotain\n\n [https://forum.robotframework.org/t//4318|Kommentti >>]\n ",
"sha256": "8f64e3622f83d9fea18cdbaf93ccc888a6c56f38f8bcf5f63d0a6088a911cebb"
},
"set_default_run_before_unload": {
"name": "aseta_oletusajo_ennen_purkamista",
"doc": "Aseta oletusarvoinen runBeforeUnload-arvo, kun `Sulje Sivu` kutsutaan ep\u00e4suorasti.\n\n Sulje Sivu kutsutaan ep\u00e4suorasti, kun\n [https://marketsquare.github.io/robotframework-browser/Browser.html#Automatic%20page%20and%20context%20closing|sivun sulkeminen automaattisesti]\n tapahtuu. Oletusarvo on ep\u00e4tosi, ja t\u00e4t\u00e4 avainsanaa voidaan k\u00e4ytt\u00e4\u00e4 arvon muuttamiseen.\n Palauttaa vanhan runBeforeUnload-arvon.\n\n [https://forum.robotframework.org/t/6203|Kommentti >>]\n ",
"sha256": "ab08eb245233c96a275f1f6b120d47787e2b86ada0e60ff9a9a26255da47090f"
},
"switch_browser": {
"name": "vaihda_selain",
"doc": "Vaihtaa t\u00e4ll\u00e4 hetkell\u00e4 aktiivisen Selaimen toiseen avoinna olevaan Selaimeen.\n\n Palauttaa vakaan tunnisteen edelliselle selaimelle.\n Katso `Selain, Konteksti ja Sivu` lis\u00e4tietoja Selaimen ja niihin liittyvien k\u00e4sitteiden suhteen.\n\n | =Argumentit= | =Kuvaus= |\n | id | Selaimen tunnus, johon vaihdetaan. Esimerkki: ``selain=96207191-8147-44e7-b9ac-5e04f2709c1d``. Selaimen tunnus palautetaan `Uusi Selain`-avainsanalla, kun se k\u00e4ynnistet\u00e4\u00e4n, tai se voidaan noutaa selainluettelosta `Hae Selainluettelo`-avainsanan palauttamana. |\n\n [https://forum.robotframework.org/t//4334|Kommentti >>]\n ",
"sha256": "99b036bf03c84933ab023f4e94946f779a13b2bb18e36a9adc720a465866595b"
},
"switch_context": {
"name": "vaihda_konteksti",
"doc": "Vaihtaa aktiivisen Selainkontekstin toiseen avoimeen kontekstiin.\n\n Palauttaa vakaan tunnisteen edelliselle kontekstille.\n Katso `Selain, Konteksti ja Sivu` lis\u00e4tietoja Kontekstin ja siihen liittyvien k\u00e4sitteiden suhteen.\n\n | =Argumentit= | =Kuvaus= |\n | ``id`` | Kontekstin tunnus, johon vaihdetaan. Esimerkki: ``context=525d8e5b-3c4e-4baa-bfd4-dfdbc6e86089``. Kontekstin tunnus palautetaan `Uusi Konteksti`-avainsanalla, kun se k\u00e4ynnistet\u00e4\u00e4n, tai se voidaan noutaa selainluettelosta `Hae Selainluettelo`-avainsanan palauttamana. |\n | ``selain`` | Selain, jossa etsit\u00e4\u00e4n kyseist\u00e4 kontekstia. ``CURRENT`` nykyiselle aktiiviselle selaimelle, ``ALL`` etsi\u00e4ksesi kaikissa avoimissa selaimissa tai selaimen tunnus, johon konteksti vaihdetaan. |\n\n Esimerkki:\n | ${ensimm\u00e4inen_konteksti} = `Uusi Konteksti`\n | `Uusi Sivu` ${URL1}\n | ${toinen_konteksti} = `Uusi Konteksti`\n | `Uusi Sivu` ${URL2}\n | `Vaihda Konteksti` ${ensimm\u00e4inen_konteksti} # Vaihtaa takaisin ensimm\u00e4iseen kontekstiin ja sivulle.\n\n [https://forum.robotframework.org/t//4335|Kommentti >>]\n ",
"sha256": "2b8132add74ea10184809222071a5eea01b8d0b67763ea914e45e344d3abd921"
},
"switch_page": {
"name": "vaihda_sivu",
"doc": "Vaihtaa aktiivisen selainsivun toiseen avoimeen sivulle tunnuksen ``id`` tai ``UUSI`` perusteella.\n\n Palauttaa vakaan tunnisteen ``id`` edelliselle sivulle.\n Katso `Selain, Konteksti ja Sivu` lis\u00e4tietoja Sivun ja siihen liittyvien k\u00e4sitteiden suhteen.\n\n | =Argumentit= | =Kuvaus= |\n | ``id`` | Sivun tunnus tai aliaksen, johon vaihdetaan. Esimerkki: ``sivu=8baf2991-5eaf-444d-a318-8045f914e96a`` tai ``UUSI``. Voi olla merkkijono tai sanakirja, joka palautetaan `Uusi Sivu`-avainsanalla. Sivun tunnus voidaan noutaa selainluettelosta `Hae Selainluettelo`-avainsanan palauttamana. ``UUSI`` voidaan k\u00e4ytt\u00e4\u00e4 vaihtaaksesi \u00e4skett\u00e4in avattuun popup-ikkunaan, ``NYKYINEN`` voidaan k\u00e4ytt\u00e4\u00e4 vaihtaaksesi aktiiviseen sivuun eri kontekstissa tai selaimessa, joka on tunnistettu niiden tunnuksella. |\n | ``konteksti`` | Konteksti, jossa etsit\u00e4\u00e4n kyseist\u00e4 sivua. ``NYKYINEN`` nykyiselle aktiiviselle kontekstille, ``KAikki`` etsi\u00e4ksesi kaikissa avoimissa konteksteissa tai kontekstin tunnus, johon sivu vaihdetaan. |\n | ``selain`` | Selain, jossa etsit\u00e4\u00e4n kyseist\u00e4 sivua. ``NYKYINEN`` nykyiselle aktiiviselle selaimelle, ``KAikki`` etsi\u00e4ksesi kaikissa avoimissa selaimissa tai selaimen tunnus, johon sivu vaihdetaan. |\n\n ``Uusi`` voi aikakatkaista, jos uusia sivuja ei ole ennen kirjaston aikakatkaisua.\n\n Esimerkki:\n | `Klikkaa` painike#avautuu # Avaa uusi sivu\n | ${edellinen} = `Vaihda Sivu` UUSI\n\n [https://forum.robotframework.org/t//4336|Kommentti >>]\n ",
"sha256": "f14fe4afd5c96b7e47fce7c3e7822febd4703219b95de14523d794944d3b7d38"
},
"clear_permissions": {
"name": "tyhjenn\u00e4_oikeudet",
"doc": "Tyhjent\u00e4\u00e4 kaikki oikeudet nykyisest\u00e4 kontekstista.\n\n [https://forum.robotframework.org/t//4236|Kommentti >>]\n ",
"sha256": "a58a7ab400f6abfbc4aebf4ceffe4ccf31c1ffff8d829292d9b61c20f84b4fa1"
},
"go_back": {
"name": "mene_takaisin",
"doc": "Siirtyy edelliselle sivulle historiassa.\n\n [https://forum.robotframework.org/t//4289|Kommentti >>]\n ",
"sha256": "22f88c5d98f358ca241f363c67b8ba6fcd2f19ae8a24f4d3e74189dc12e0779c"
},
"go_forward": {
"name": "mene_eteenp\u00e4in",
"doc": "Siirtyy seuraavalle sivulle historiassa.\n\n [https://forum.robotframework.org/t//4290|Kommentti >>]\n ",
"sha256": "fdee39fcb69c8f5d2745991ba99731d90e1d06fa1e1c64ac12f1b65a98320c4a"
},
"go_to": {
"name": "siirry",
"doc": "Siirtyy annettuun ``url``:\u00e4\u00e4n.\n\n | =Argumentit= | =Kuvaus= |\n | ``url`` | Siirtymiseen k\u00e4ytett\u00e4v\u00e4 URL. |\n | ``timeout`` | Aika odottaa sivun latautumista. Jos ei m\u00e4\u00e4ritetty, k\u00e4ytet\u00e4\u00e4n kirjaston oletusaikakatkaisuaikaa. |\n | ``wait_until`` | Milloin operaatio katsotaan onnistuneeksi. Oletusarvo on lataus. Tapahtumat voivat olla joko: ``domcontentloaded`` - operaatio katsotaan valmiiksi, kun DOMContentLoaded-tapahtuma laukaistaan. ``load`` - operaatio katsotaan valmiiksi, kun lataustapahtuma laukaistaan. ``networkidle`` - operaatio katsotaan valmiiksi, kun verkko-yhteyksi\u00e4 ei ole v\u00e4hint\u00e4\u00e4n 500 ms ajan. ``commit`` - operaatio katsotaan valmiiksi, kun verkkovaste on vastaanotettu ja dokumentti on aloittanut latauksen. |\n\n\n Palauttaa navigointipyynn\u00f6n HTTP-tilakoodin kokonaislukuna tai 0, jos sit\u00e4 ei vastaanoteta.\n\n [https://forum.robotframework.org/t//4291|Kommentti >>]\n ",
"sha256": "cc6d043510336b7931d92cab54d4d88291e1b10b8523a1770a3ee912a87f33d6"
},
"grant_permissions": {
"name": "my\u00f6nn\u00e4_luvat",
"doc": "My\u00f6nt\u00e4\u00e4 luvat nykyiselle kontekstille.\n\n | =Argumentit= | =Kuvaus= |\n | ``permissions`` | on lista my\u00f6nnett\u00e4vist\u00e4 luvista. Luvat voivat olla seuraavista: geolocation, notifications, camera, microphone |\n | ``origin`` | Alkuper\u00e4, jolle luvat my\u00f6nnet\u00e4\u00e4n, esim. \"https://esimerkki.com\". |\n\n Esimerkki:\n | `Uusi Konteksti`\n | `My\u00f6nn\u00e4 Luvat` geolocation\n\n [https://forum.robotframework.org/t//4292|Kommentti >>]\n ",
"sha256": "7a51017bc4aeb67f20bd8d4a37ded1089ff9a64477ed62bc7688f9309fdbf57e"
},
"reload": {
"name": "lataa_uudelleen",
"doc": "Lataa nykyisen aktiivisen sivun uudelleen.\n\n [https://forum.robotframework.org/t//4317|Kommentti >>]\n ",
"sha256": "80bd7ca3912f3599f69c6d85da4ce50363a397293e00d66089dd01c501083835"
},
"set_browser_timeout": {
"name": "aseta_selaimen_aikakatkaisu",
"doc": "Asettaa suurimman osan sy\u00f6tteist\u00e4 ja getter-avainsanojen k\u00e4ytt\u00e4m\u00e4n aikakatkaisun.\n\n | =Argumentit= | =Kuvaus= |\n | ``aikakatkaisu`` | Aikakatkaisu on nykyisen playwright-kontekstin ja uusien kontekstien aikakatkaisu. Tukee Robot Frameworkin [https://robotframework.org/robotframework/latest/RobotFrameworkUserGuide.html#time-format|aikamuotoa]. Palauttaa edellisen aikakatkaisun arvon. |\n | ``laajuus`` | Laajuus m\u00e4\u00e4rittelee asetuksen voimassaoloajan. K\u00e4ytett\u00e4viss\u00e4 olevat arvot ovat ``Globaali``, ``Kokoelma`` tai ``Testi`` / ``Teht\u00e4v\u00e4``. Katso `Laajuuden asetukset` lis\u00e4tietoja varten. |\n\n Esimerkki:\n | ${vanha_aikakatkaisu} = `Aseta Selaimen Aikakatkaisu` 1m 30 sekuntia\n | Click //button\n | `Aseta Selaimen Aikakatkaisu` ${vanha_aikakatkaisu}\n\n [https://forum.robotframework.org/t//4328|Kommentti >>]\n ",
"sha256": "6368a8af571a1a665c72a1fb2a9419265fac57fb0d674f29a68b1ceb24b723b4"
},
"set_geolocation": {
"name": "aseta_maantieteellinen_sijainti",
"doc": "P\u00e4ivitt\u00e4\u00e4 oikean kontekstin maantieteellisen sijainnin.\n\n Leveysaste voi olla v\u00e4lill\u00e4 -90 ja 90 ja pituusaste voi olla v\u00e4lill\u00e4 -180 ja 180.\n Sijainnin tarkkuuden on oltava positiivinen luku ja oletusarvo on 0. Kun\n luodaan konteksti, my\u00f6nn\u00e4 ``geolocation``-oikeus sivuille lukea sen maantieteellinen sijainti.\n\n | =Argumentit= | =Kuvaus= |\n | ``leveysaste`` | Leveysaste v\u00e4lill\u00e4 -90 ja 90. |\n | ``pituusaste`` | Pituusaste v\u00e4lill\u00e4 -180 ja 180. |\n | ``tarkkuus`` | Ei-negatiivinen tarkkuusarvo. Oletusarvo on 0. |\n\n Esimerkki:\n | ${oikeudet} = Luo Lista geolocation\n | `Uusi Konteksti` oikeudet=${oikeudet}\n | `Aseta Maantieteellinen Sijainti` 60.173708, 24.982263 3 # Osoittaa Korkeasaareen Helsingiss\u00e4.\n\n [https://forum.robotframework.org/t//4329|Kommentti >>]\n ",
"sha256": "74b83cbcc403888c1228a0718cf1ae1d38cc1606799bc5e8737f010474cad046"
},
"set_offline": {
"name": "aseta_offline_tila",
"doc": "Vaihtaa nykyisen kontekstin offline-tilan emulaation.\n\n | =Argumentit= | =Kuvaus= |\n | ``offline`` | Vaihtaa offline-tilaan. Aseta False palataksesi takaisin online-tilaan. Oletusarvo on True. |\n\n [https://forum.robotframework.org/t//4330|Kommentti >>]\n ",
"sha256": "8b4aff54b55d17e937f0fe4c334591fb79f74c29b07e579969b5c9c3d5d9b736"
},
"set_retry_assertions_for": {
"name": "aseta_uudelleenyrit\u00e4_v\u00e4itteet",
"doc": "Asettaa aikakatkaisun, jota k\u00e4ytet\u00e4\u00e4n v\u00e4itteiden uudelleenyritt\u00e4misess\u00e4 niiden ep\u00e4onnistuessa.\n\n | =Argumentit = | =Kuvaus = |\n | ``timeout`` | V\u00e4itteiden uudelleenyritt\u00e4misen aikakatkaisu m\u00e4\u00e4ritt\u00e4\u00e4, kuinka kauan Browser-kirjasto yritt\u00e4\u00e4 uudelleen v\u00e4itett\u00e4 todeksi. |\n | ``scope`` | Kesto m\u00e4\u00e4ritt\u00e4\u00e4 asetuksen elinkaaren. K\u00e4ytett\u00e4viss\u00e4 olevat arvot ovat ``Global``, ``Suite`` tai ``Test`` / ``Task``. Katso lis\u00e4tietoja kohdasta `Kesto`. |\n\n Toinen avainsana `Aseta selaimen aikakatkaisu` hallitsee sit\u00e4, kuinka kauan Playwright odottaa solmun puolella, kunnes elementit t\u00e4ytt\u00e4v\u00e4t tietyt avainsanan vaatimukset.\n\n Palauttaa v\u00e4itteiden uudelleenyritt\u00e4misen aikakatkaisun aiemman arvon.\n\n Esimerkki:\n | `Aseta selaimen aikakatkaisu` 10 sekuntia\n | ${vanha} = `Aseta uudelleenyrit\u00e4 v\u00e4itteet` 30s\n | `Hae otsikko` == Kirjautumissivu\n | `Aseta uudelleenyrit\u00e4 v\u00e4itteet` ${vanha}\n\n Esimerkki odottaa 10 sekuntia Playwrightilla saadakseen sivun otsikon, ja kirjasto yritt\u00e4\u00e4 uudelleen 30 sekuntia varmistaakseen, ett\u00e4 otsikko on oikein.\n\n [https://forum.robotframework.org/t//4331|Kommentti >>]\n ",
"sha256": "7cfcad31e1a21289cb1c930203628b51a988afa32d084f8d4a2126f8a73cc8de"
},
"set_selector_prefix": {
"name": "aseta_valitsimen_etuliite",
"doc": "Asettaa etuliitteen kaikille valitsimille annetussa kehikossa.\n\n | =Argumentit = | =Kuvaus = |\n | ``etuliite`` | Etuliite kaikille valitsimille. Etuliite ja valitsin erotetaan yhdell\u00e4 v\u00e4lily\u00f6nnill\u00e4. K\u00e4yt\u00e4 ``${None}`` tai ``${EMPTY}`` poistaaksesi etuliitteen k\u00e4yt\u00f6st\u00e4. |\n | ``kesto`` | Kesto m\u00e4\u00e4ritt\u00e4\u00e4 asetuksen elinkaaren. K\u00e4ytett\u00e4viss\u00e4 olevat arvot ovat ``Global``, ``Suite`` tai ``Test`` / ``Task``. Katso lis\u00e4tietoja kohdasta `Kesto`. |\n\n Palauttaa aiemman etuliitteen arvon.\n\n Esimerkki:\n | ${vanha} = `Aseta valitsimen etuliite` iframe#upotettu_sivu >>>\n | `Klikkaa` painike#kirjautumis_painike # Klikkaa painiketta upotetun kehyksen sis\u00e4ll\u00e4 valitsimella ``iframe#upotettu_sivu >>> painike#kirjautumis_painike``\n | `Aseta valitsimen etuliite` ${vanha}\n\n Esimerkki klikkaa painiketta, jonka id on ``kirjautumis_painike`` upotetun kehyksen sis\u00e4ll\u00e4, jonka id on ``upotettu_sivu``.\n Tuloksena oleva valitsin on ``iframe#upotettu_sivu >>> painike#kirjautumis_painike``.\n\n T\u00e4m\u00e4n etuliitteen vaikutus voidaan poistaa lis\u00e4\u00e4m\u00e4ll\u00e4 valitsimeen ``!etuliite ``, jossa on per\u00e4kk\u00e4inen v\u00e4lily\u00f6nti,\n yksitt\u00e4isiin avainsanakutsuihin. esim. ``!etuliite id=painike_ulkopuolella_kehyst\u00e4``\n\n `Hae elementti`, `Hae elementit`, `Hae elementti nimell\u00e4` ja `Hae elementti roolilla`\n etuliitteeseen lis\u00e4t\u00e4\u00e4n automaattisesti ``!etuliite ``, jotta niit\u00e4 voi k\u00e4ytt\u00e4\u00e4 suoraan ilman etuliitteen asettamista ``${None}`` ennen k\u00e4ytt\u00f6\u00e4.\n\n [https://forum.robotframework.org/t//4741|Kommentti >>]\n ",
"sha256": "5e4b39880186a97110a0b049758c956cc7513e3dc638b5433317d2f6f288ee9d"
},
"set_viewport_size": {
"name": "aseta_n\u00e4kym\u00e4kent\u00e4n_koko",
"doc": "Asettaa nykyisen sivun n\u00e4kym\u00e4kent\u00e4n koon m\u00e4\u00e4ritettyihin mittoihin.\n\n Useiden sivujen ollessa yhdess\u00e4 selaimessa,\n kullakin sivulla voi olla oma n\u00e4kym\u00e4kent\u00e4n koko. Kuitenkin,\n `Uusi konteksti` mahdollistaa n\u00e4kym\u00e4kent\u00e4n koon (ja enemm\u00e4n) asettamisen kaikille\n my\u00f6hemmin avatuille sivuille kontekstissa kerrallaan.\n\n `Aseta n\u00e4kym\u00e4kent\u00e4n koko` muuttaa sivun kokoa.\n Monet verkkosivustot eiv\u00e4t odota puhelimien muuttuvan koosta,\n joten n\u00e4kym\u00e4kent\u00e4n koko tulisi asettaa ennen sivulle siirtymist\u00e4\n `Uudessa kontekstissa` ennen sivun avaamista.\n\n | =Argumentit = | =Kuvaus = |\n | ``leveys`` | Asettaa leveyden koon. |\n | ``korkeus`` | Asettaa korkeuden koon. |\n\n [https://forum.robotframework.org/t//4333|Kommentti >>]\n ",
"sha256": "96da339ea98f47d4187120bf92a2070d010299c0fb5836f6de456ca9ba36b026"
},
"show_keyword_banner": {
"name": "n\u00e4yt\u00e4_avainsanabanneri",
"doc": "Ohjaa, n\u00e4ytet\u00e4\u00e4nk\u00f6 avainsanabanneri sivulla vai ei.\n\n Avainsanakutsun banneri on CSS-kerros, joka n\u00e4ytt\u00e4\u00e4 parhaillaan suoritetun avainsanan suoraan sivulla.\n T\u00e4m\u00e4 on hy\u00f6dyllist\u00e4 vianm\u00e4\u00e4rityksess\u00e4 ja testien suorituksen n\u00e4ytt\u00e4misess\u00e4 videon tallennuksissa.\n Oletuksena banneria ei n\u00e4ytet\u00e4 sivulla paitsi kun suoritetaan esittelij\u00e4tilassa.\n\n Banneria voidaan ohjata Browser-kirjaston tuontiasetuksella. (ks. `Tuonti`-osio)\n\n | =Argumentit = | =Kuvaus = |\n | ``n\u00e4yt\u00e4`` | Jos `True`, banneri n\u00e4ytet\u00e4\u00e4n sivulla. Jos `False`, banneri ei n\u00e4ytet\u00e4 sivulla. Jos `None`, banneri n\u00e4ytet\u00e4\u00e4n sivulla vain suoritettaessa esittelij\u00e4tilassa. |\n | ``tyyli`` | Lis\u00e4tyylit, jotka halutaan soveltaa banneriin. N\u00e4m\u00e4 tyylit ovat CSS-asetuksia ja voivat korvata olemassa olevia asetuksia bannerille. |\n | ``laajuus`` | Laajuus m\u00e4\u00e4rittelee kyseisen asetuksen elinajan. K\u00e4ytett\u00e4viss\u00e4 olevat arvot ovat ``Global``, ``Suite`` tai ``Test`` / ``Task``. Katso lis\u00e4tietoja kohdasta `Laajuus`. |\n\n Esimerkki:\n | N\u00e4yt\u00e4 Avainsanabanneri True top: 5px; bottom: auto; left: 5px; background-color: #00909077; font-size: 9px; color: black; # N\u00e4ytt\u00e4\u00e4 bannerin vasemman yl\u00e4kulman kulmassa mukautetuilla tyyleill\u00e4\n | N\u00e4yt\u00e4 Avainsanabanneri False # Piilottaa bannerin\n\n [https://forum.robotframework.org/t//4716|Kommentti >>]\n ",
"sha256": "0ed4e1d7d942d2592e24953601df6f95a39b1d0d8151c3dad22e6da580d5296f"
},
"take_screenshot": {
"name": "ota_n\u00e4ytt\u00f6kuva",
"doc": "Ottaa kuvakaappauksen nykyisest\u00e4 ikkunasta tai elementist\u00e4 ja tallentaa sen levylle.\n\n | =Argumentit = | =Kuvaus = |\n | ``tiedostonimi`` | Tiedostonimi, johon tallennetaan. Tiedosto tallennetaan oletuksena robot-kehyksen ${OUTPUTDIR}/browser/screenshot-hakemistoon, mutta sit\u00e4 voidaan muokata antamalla mukautettu polku tai tiedostonimi. Merkkijono ``{indeksi}`` tiedostonimess\u00e4 korvataan rullaavalla numerolla. K\u00e4yt\u00e4 t\u00e4t\u00e4, jotta et korvaa tiedostonimi\u00e4. Jos tiedostonimi on EMBED (kirjoitusasulla ei ole v\u00e4li\u00e4) tai ${NONE}, kuvakaappaus upotetaan Base64-kuvana log.html-tiedostoon. Kuva tallennetaan v\u00e4liaikaisesti levylle ja n\u00e4ytet\u00e4\u00e4n varoitus, jos v\u00e4liaikaisen tiedoston poistaminen ep\u00e4onnistuu. ${OUTPUTDIR}/browser/-hakemisto poistetaan ensimm\u00e4isen suorituskerran alussa. |\n | ``valitsija`` | Ota kuvakaappaus valitsimen avulla l\u00f6ytyv\u00e4st\u00e4 elementist\u00e4. Katso lis\u00e4tietoja valitsimien etsimisest\u00e4 osiosta `Elementtien etsiminen`. Jos valitsinta ei anneta, otetaan kuvakaappaus nykyisest\u00e4 n\u00e4kym\u00e4st\u00e4. |\n | ``rajaa`` | Rajaa otettu kuvakaappaus annettuun laatikkoon. Se ottaa saman sanakirjan kuin `Hanki rajauslaatikko` palauttaa. Leikkaus toimii vain sivun kuvakaappauksessa, jos valitsinta ei ole annettu. |\n | ``poistaAnimaatiot`` | Kun asetetaan arvoon ``True``, pys\u00e4ytt\u00e4\u00e4 CSS-animaatiot, CSS-siirtym\u00e4t ja verkkosivuanimaatiot. Animaatiot k\u00e4sitell\u00e4\u00e4n eri tavalla niiden keston perusteella: - rajalliset animaatiot nopeutetaan loppuun, joten ne laukaisevat transitionend-tapahtuman. - \u00e4\u00e4rett\u00f6m\u00e4t animaatiot peruutetaan alkutilaan ja toistetaan sitten uudelleen kuvakaappauksen j\u00e4lkeen. |\n | ``tiedostotyyppi`` | ``png`` tai ``jpeg`` M\u00e4\u00e4rit\u00e4 kuvakaappauksen tyyppi. Oletusarvo on ``png``. |\n | ``kokosivu`` | Kun True, ottaa kuvakaappauksen koko sivun pituudelta sen sijaan, ett\u00e4 otettaisiin nykyinen n\u00e4kyv\u00e4 n\u00e4kym\u00e4. Oletusarvo on False. |\n | ``loki_kuvakaappaus`` | Kun asetetaan ``False``, kuvakaappaus otetaan, mutta sit\u00e4 ei kirjata log.html-tiedostoon. |\n | ``maski`` | M\u00e4\u00e4rit\u00e4 valitsimet, jotka tulee peitt\u00e4\u00e4, kun kuvakaappaus otetaan. Peitetyt elementit peitet\u00e4\u00e4n vaaleanpunaisella laatikolla ``#FF00FF``, joka peitt\u00e4\u00e4 kokonaan sen rajauslaatikon. Argumentti voi ottaa yksitt\u00e4isen valitsinmerkkijonon tai useiden eri elementtien valitsinmerkkijonon listan, jos useita eri elementtej\u00e4 tulee peitt\u00e4\u00e4. |\n | ``maskinV\u00e4ri`` | M\u00e4\u00e4rit\u00e4 peitteen laatikon v\u00e4ri valituille elementeille CSS-v\u00e4rimuodossa. Oletusv\u00e4ri on vaaleanpunainen #FF00FF. |\n | ``j\u00e4t\u00e4TaustaPois`` | Piilottaa oletusvalkoisen taustan ja mahdollistaa kuvakaappausten ottamisen l\u00e4pin\u00e4kyvyydell\u00e4. Ei sovellu jpeg-kuville. |\n | ``laatu`` | Kuvan laatu v\u00e4lill\u00e4 0-100. Ei sovellu png-kuville. |\n | ``mittakaava`` | ``css`` tai ``laite``. ``css`` pienent\u00e4\u00e4 kuvan kokoa ja ``laite`` s\u00e4ilytt\u00e4\u00e4 kuvan alkuper\u00e4isess\u00e4 koossa. Oletusarvo on ``laite``. |\n | ``palauta_muodossa`` | M\u00e4\u00e4rittelee, mit\u00e4 t\u00e4m\u00e4 avainsana palauttaa. Mahdolliset arvot on dokumentoitu `Kuvakaappauksen palautustyyppi`-osiossa. Se voi olla joko polku kuvakaappauksen tiedostoon merkkijonona tai Path-objektina tai kuvan tiedot tavuina tai base64-koodattuna merkkijonona. |\n | ``aikakatkaisu`` | Enimm\u00e4isaika, kuinka kauan kuvakaapauksen ottaminen voi kest\u00e4\u00e4, oletuksena kirjaston aikakatkaisu. Tukee Robot Frameworkin aikamuotoa, kuten 10s tai 1 min, v\u00e4lit\u00e4 0 poistaaksesi aikakatkaisun k\u00e4yt\u00f6st\u00e4. Oletusarvon voi muuttaa k\u00e4ytt\u00e4m\u00e4ll\u00e4 `Aseta selaimen aikakatkaisu`-avainsanaa. |\n\n Avainsana k\u00e4ytt\u00e4\u00e4 tiukkaa tilaa, jos valitsin on m\u00e4\u00e4ritelty. Katso lis\u00e4tietoja tiukasta tilasta kohdasta `Elementtien etsiminen`.\n\n Esimerkki\n | `Ota n\u00e4ytt\u00f6kuva` # Ottaa kuvakaappauksen sivusta oletustiedostonimell\u00e4\n | `Ota n\u00e4ytt\u00f6kuva` valitsin=id=k\u00e4ytt\u00e4j\u00e4nimi_kentt\u00e4 # Ottaa kuvakaappauksen elementist\u00e4 kuvan\n | # Ottaa kuvakaappauksen jpeg-laajennuksella, m\u00e4\u00e4rittelee kuvan laadun ja aikakatkaisun, kuinka kauan kuvakaapauksen ottaminen voi kest\u00e4\u00e4\n | `Ota n\u00e4ytt\u00f6kuva` kokosivu=True tiedostotyyppi=jpeg laatu=50 aikakatkaisu=10s\n | `Ota n\u00e4ytt\u00f6kuva` EMBED # Kuvakaappaus upotetaan Base64-kuvana log.html-tiedostoon.\n\n [https://forum.robotframework.org/t//4337|Kommentti >>]\n ",
"sha256": "99b6dae20f1c2a2f105c5deb757044de6b19d75f4aa82314837ff3b61021b5a1"
},
"add_cookie": {
"name": "lis\u00e4\u00e4_ev\u00e4ste",
"doc": "Lis\u00e4\u00e4 ev\u00e4steen nykyiseen aktiiviseen selaimen kontekstiin.\n\n\n | =Argumentit= | =Kuvaus= |\n | ``nimi`` | Ev\u00e4steen nimi. |\n | ``arvo`` | Annetaan arvo ev\u00e4steelle. |\n | ``url`` | Annetaan URL ev\u00e4steelle. Oletusarvoisesti ei mit\u00e4\u00e4n. Joko ``url`` tai ``domain`` / ``path`` -pari on m\u00e4\u00e4ritett\u00e4v\u00e4. |\n | ``domain`` | Annetaan ev\u00e4steen verkkotunnus. Oletusarvoisesti ei mit\u00e4\u00e4n. Joko ``url`` tai ``domain`` / ``path`` -pari on m\u00e4\u00e4ritett\u00e4v\u00e4. |\n | ``polku`` | Annetaan polku ev\u00e4steelle. Oletusarvoisesti ei mit\u00e4\u00e4n. Joko ``url`` tai ``domain`` / ``path`` -pari on m\u00e4\u00e4ritett\u00e4v\u00e4. |\n | ``vanhentuminen`` | Annetaan ev\u00e4steen vanhentumisaika. Voi olla p\u00e4iv\u00e4m\u00e4\u00e4r\u00e4muodossa tai unix-aikana. Tukee samoja muotoja kuin [http://robotframework.org/robotframework/latest/libraries/DateTime.html|DateTime] -kirjasto tai epoch-timestamppi. - esimerkki: 2027-09-28 16:21:35 |\n | ``httpVain`` | Asettaa httpOnly-tunnuksen. |\n | ``turvallinen`` | Asettaa turvallisen tunnuksen. |\n | ``samaSivu`` | Asettaa samesite-tilan. |\n\n Esimerkki:\n | `Lis\u00e4\u00e4 Ev\u00e4ste` foo bar http://osoite.com/polku/sivusto # K\u00e4ytt\u00e4en url-argumenttia.\n | `Lis\u00e4\u00e4 Ev\u00e4ste` foo bar verkkotunnus=esimerkki.com polku=/foo/bar # K\u00e4ytt\u00e4en verkkotunnusta ja url-argumentteja.\n | `Lis\u00e4\u00e4 Ev\u00e4ste` foo bar http://osoite.com/polku/sivusto vanhentuminen=2027-09-28 16:21:35 # Vanhentuminen aikaleimana.\n | `Lis\u00e4\u00e4 Ev\u00e4ste` foo bar http://osoite.com/polku/sivusto vanhentuminen=1822137695 # Vanhentuminen epoch-sekunteina.\n\n [https://forum.robotframework.org/t//4233|Kommentti >>]\n ",
"sha256": "44db99ea6928e7320182b80f61f3b834d8493a872b4fd26fe6608e8189573cd8"
},
"delete_all_cookies": {
"name": "poista_kaikki_ev\u00e4steet",
"doc": "Poistaa kaikki ev\u00e4steet nykyisest\u00e4 aktiivisesta selaimen kontekstista.\n\n [https://forum.robotframework.org/t//4244|Kommentti >>]\n ",
"sha256": "81cdbfe69a56724ea4600919ea6aa1c6f09ed97fd5811601620c1c81e2907a81"
},
"eat_all_cookies": {
"name": "sy\u00f6_kaikki_ev\u00e4steet",
"doc": "Sy\u00f6 kaikki ev\u00e4steet kaikille p\u00e4\u00e4si\u00e4isille.\n\n [https://forum.robotframework.org/t//4250|Kommentti >>]\n ",
"sha256": "3ef6c4274a00c294c6439ee3d2e6ec98c6321dbcb1d3aa2af9a63c7e36c25ef7"
},
"get_cookie": {
"name": "hae_ev\u00e4ste",
"doc": "Palauttaa ev\u00e4steen tiedot ``name`` mukaan joko Robot Frameworkin piste-sanakirjana tai merkkijonona.\n\n | =Argumentit= | =Kuvaus= |\n | ``cookie`` | Haettavan ev\u00e4steen nimi. |\n | ``return_type`` | Paluuarvon tyyppi. Voi olla joko ``dictionary`` tai ``string``. Oletusarvo on ``dictionary``. |\n\n Jos ``return_type`` on ``dictionary`` tai ``dict``, avainsana palauttaa Robot Frameworkin\n [https://robotframework.org/robotframework/latest/RobotFrameworkUserGuide.html#accessing-list-and-dictionary-items|piste-sanakirjan]\n Sanakirja sis\u00e4lt\u00e4\u00e4 kaikki mahdolliset ev\u00e4steen avain-arvo-parit. Jos ``return_type`` on ``string`` tai ``str``,\n avainsana palauttaa ev\u00e4steen merkkijonona muodossa: ``nimi1=arvo1``. Paluuarvo sis\u00e4lt\u00e4\u00e4 vain\n ``name`` ja ``value`` -avaimet ev\u00e4steest\u00e4.\n\n Jos ev\u00e4stett\u00e4 ei l\u00f6ydy ``name``:n perusteella, avainsana ep\u00e4onnistuu. Ev\u00e4steen sanakirja sis\u00e4lt\u00e4\u00e4\n yksityiskohtia ev\u00e4steest\u00e4. Sanakirjassa saatavilla olevat avaimet on dokumentoitu alla olevassa taulukossa.\n\n | *Arvo* | *Selitys* |\n | name | Ev\u00e4steen nimi, pakollinen. |\n | value | Ev\u00e4steen arvo, pakollinen. |\n | url | M\u00e4\u00e4rittelee ev\u00e4steen soveltamisalan, mihin URL-osoitteisiin ev\u00e4steit\u00e4 tulisi l\u00e4hett\u00e4\u00e4. |\n | domain | M\u00e4\u00e4rittelee, mitk\u00e4 is\u00e4nt\u00e4koneet saavat vastaanottaa ev\u00e4steen. |\n | path | Ilmaisee URL-polun, joka on oltava pyydetty\u00e4 URL-osoitetta varten, esimerkiksi `/`. |\n | expiry | Ev\u00e4steen elinik\u00e4. Palautetaan datetime-objektina tai None, jos kelvollista aikaa ei saatu. |\n | httpOnly | Kun tosi, ev\u00e4stett\u00e4 ei voi k\u00e4ytt\u00e4\u00e4 JavaScriptin kautta. |\n | secure | Kun tosi, ev\u00e4stett\u00e4 k\u00e4ytet\u00e4\u00e4n vain HTTPS-yhteyksiss\u00e4. |\n | sameSite | Attribuutti mahdollistaa palvelimien vaatia, ettei ev\u00e4stett\u00e4 l\u00e4hetet\u00e4 ristiinoriginpyynn\u00f6iss\u00e4. |\n\n Katso\n [https://playwright.dev/docs/api/class-browsercontext#browsercontextaddcookiescookies|playwright-dokumentaatiosta]\n lis\u00e4tietoja kustakin ominaisuudesta.\n\n Esimerkki:\n | ${ev\u00e4ste}= `Hae Ev\u00e4ste` Foobar\n | Pit\u00e4isi Olla Sama ${ev\u00e4ste.value} Tidii\n | Pit\u00e4isi Olla Sama ${ev\u00e4ste.expiry.year} ${2020}\n\n [https://forum.robotframework.org/t//4265|Kommentti >>]\n ",
"sha256": "3282da62e50164ca9590ee3c3b1f79b5d8bcae231949378a7a0bf833b151dd31"
},
"get_cookies": {
"name": "hae_ev\u00e4steet",
"doc": "Palauttaa ev\u00e4steet nykyisest\u00e4 aktiivisesta selaimen kontekstista.\n\n Jos ``return_type`` on ``dictionary`` tai ``dict``, avainsana palauttaa Robot Frameworkin\n [https://robotframework.org/robotframework/latest/RobotFrameworkUserGuide.html#accessing-list-and-dictionary-items|piste-sanakirjoja]\n Sanakirja sis\u00e4lt\u00e4\u00e4 kaikki mahdolliset ev\u00e4steen avain-arvo-parit. Katso `Hae ev\u00e4ste` -avainsanan dokumentaatiosta\n sanakirjan avaimet ja arvot.\n\n Jos ``return_type`` on ``string`` tai ``str``, avainsana palauttaa ev\u00e4steen merkkijonona muodossa:\n ``nimi1=arvo1; nimi2=arvo2; nimi3=arvo3``. Paluuarvo sis\u00e4lt\u00e4\u00e4 vain ev\u00e4steen ``name`` ja ``value`` -avaimet.\n\n [https://forum.robotframework.org/t//4266|Kommentti >>]\n ",
"sha256": "1f601f3908cec663a22606c63cc6b0c588a4c6f3028b978a361ecce1d3756cfc"
},
"crawl_site": {
"name": "selaa_sivustoa",
"doc": "\n Verkkorobotti on ty\u00f6kalu, joka k\u00e4y l\u00e4pi kaikki tietyn URL-osoitteen verkkotunnuksen sivut.\n T\u00e4m\u00e4 tapahtuu l\u00f6yt\u00e4m\u00e4ll\u00e4 kaikki samalle sivustolle johtavat linkit ja avaamalla ne.\n\n palauttaa luettelon haetuista URL-osoitteista.\n\n | =Argumentit = | =Kuvaus= |\n | ``url`` | on sivu, josta aloitetaan selaaminen. |\n | ``page_crawl_keyword`` | on avainsana, joka suoritetaan jokaisella sivulla. Oletuksena se ottaa kuvakaappauksen jokaiselta sivulta. |\n | ``max_number_of_page_to_crawl`` | on yl\u00e4raja sivujen haulle. Haun lopetetaan, jos haettujen sivujen m\u00e4\u00e4r\u00e4 ylitt\u00e4\u00e4 t\u00e4m\u00e4n. |\n | ``max_depth_to_crawl`` | on yl\u00e4raja per\u00e4kk\u00e4isille linkeille, jotka seuraavat aloitussivulta. Haun lopetetaan, jos t\u00e4m\u00e4n syvyyden alapuolella ei ole en\u00e4\u00e4 linkkej\u00e4. |\n\n [https://forum.robotframework.org/t//4243|Kommentti >>]\n ",
"sha256": "e65c79b56dccfabf270d2fb97ae4a764b6dc234ca81f5558de66b257b57fc79c"
},
"get_device": {
"name": "hae_laite",
"doc": "Hakee yksitt\u00e4isen laitteen kuvauksen, jonka nimi t\u00e4sm\u00e4\u00e4 tarkasti annettuun nimeen.\n\n | =Argumentit= | =Kuvaus= |\n | ``name`` | Haluttu laitteen nimi. Katso Playwrightin [https://github.com/microsoft/playwright/blob/master/packages/playwright-core/src/server/deviceDescriptorsSource.json|deviceDescriptorsSource.json] muotoiltu luettelo. |\n\n Sallii tiiviin syntaksin verkkosivujen testausarvojen asettamiseksi tiettyihin\n mobiililaitteisiin t\u00e4sm\u00e4\u00e4vill\u00e4 tarkkuuksilla.\n\n K\u00e4yt\u00e4 sit\u00e4 v\u00e4litt\u00e4m\u00e4ll\u00e4 siihen liittyv\u00e4 kontekstiin. Laitekuvauksen kanssa kontekstin luomisen j\u00e4lkeen\n varmista, ett\u00e4 aktiivinen sivusi on kyseisess\u00e4 kontekstissa.\n K\u00e4ytt\u00f6:\n\n | ${laite}= `Hae Laite` iPhone X\n | `Uusi Konteksti` &{laite}\n | `Uusi Sivu`\n | `Hae N\u00e4ytt\u00f6koko` # palauttaa { \"width\": 375, \"height\": 812 }\n\n [https://forum.robotframework.org/t//4267|Kommentti >>]\n ",
"sha256": "f70cc5d593ec2207f3e8f52c584f0bba0167b50237e1c7cbb0e65aaab568ae12"
},
"get_devices": {
"name": "hae_laitteet",
"doc": "Palauttaa sanakirjan kaikista Playwrightin laitekuvauksista.\n\n Katso Playwrightin\n [https://github.com/microsoft/playwright/blob/master/packages/playwright-core/src/server/deviceDescriptorsSource.json|deviceDescriptorsSource.json]\n muotoiltu luettelo.\n\n [https://forum.robotframework.org/t//4268|Kommentti >>]\n ",
"sha256": "6d8a2ac3abd1c301541bc8986f778e122f6770e763635a62322418fe74745fd4"
},
"add_style_tag": {
"name": "lis\u00e4\u00e4_tyyli_tagi",
"doc": "Lis\u00e4\u00e4 <style type=\"text/css\"> -tagin sis\u00e4ll\u00f6n kanssa.\n\n | =Arguments= | =Kuvaus= |\n | ``sis\u00e4lt\u00f6`` | Raaka CSS-sis\u00e4lt\u00f6 ruiskutettavaksi kehykseen. |\n\n Esimerkki:\n | `Lis\u00e4\u00e4 Tyyli Tagi` \\#k\u00e4ytt\u00e4j\u00e4nimi_kentt\u00e4:focus {taustav\u00e4ri: akva;} |\n\n [https://forum.robotframework.org/t//4234|Kommentti >>]\n ",
"sha256": "fc2d0db56dcc81ea5c7000254fad0742e341229d6dcfe57f560fa83ef59704bf"
},
"download": {
"name": "lataa",
"doc": "Lataa annetun URL-osoitteen sis\u00e4lt\u00f6.\n\n | =Argumentit= | =Kuvaus= |\n | ``url`` | URL-osoite, josta tiedosto ladataan. |\n | ``saveAs`` | Polku, johon tiedosto tallennetaan pysyv\u00e4sti. Jos tyhj\u00e4, k\u00e4ytet\u00e4\u00e4n luotua ainutlaatuista polkua (GUID), ja tiedosto poistetaan, kun konteksti suljetaan. |\n | ``wait_for_finished`` | Jos asetettu arvoon ``False``, avainsana palauttaa heti, kun lataus on aloitettu. Oletuksena ``True``. |\n | ``download_timeout`` | Aikakatkaisu itse lataukselle, jos ``wait_for_finished`` on asetettu ``True``-arvoon. Oletuksena aikakatkaisua ei ole asetettu. |\n\n Avainsana palauttaa `DownloadInfo` -tyyppisen sanakirjan.\n\n",
"sha256": "b16a68d353e1668b4566de7269fa9c000b6ec71e1f2225729436bc497f9bc8c9"
},
"evaluate_javascript": {
"name": "arvioi_javascript",
"doc": "Suorittaa annetun JavaScript-koodin valituilla elementeill\u00e4 tai sivulla.\n\n | =Argumentit= | =Kuvaus= |\n | ``selector`` | Valitsin, joka ratkaistaan ja v\u00e4litet\u00e4\u00e4n JavaScript-funktiolle. T\u00e4m\u00e4 on ensimm\u00e4inen argumentti, jonka funktio vastaanottaa, jos ei ole ``${None}``. ``selector`` on valinnainen ja sit\u00e4 voidaan j\u00e4tt\u00e4\u00e4 pois. Jos annetaan valitsin, funktio on v\u00e4ltt\u00e4m\u00e4t\u00f6n, jossa on argumentti elementin k\u00e4sittelij\u00e4n tallentamiseksi. Esimerkiksi ``(elementti) => document.activeElement === elementti`` Katso `Elementtien l\u00f6yt\u00e4minen` -osio lis\u00e4tietoja valitsimista. |\n | ``*funktio`` | Kelvollinen JavaScript-funktio tai JavaScript-funktion runko. N\u00e4it\u00e4 argumentteja voidaan k\u00e4ytt\u00e4\u00e4 luettavan monirivisen JavaScriptin kirjoittamiseen. |\n | ``arg`` | Lis\u00e4argumentti, joka voidaan v\u00e4litt\u00e4\u00e4 JavaScript-funktiolle. T\u00e4m\u00e4n argumentin on oltava JSON-sarjoitettavissa. Elementtik\u00e4sittelij\u00f6it\u00e4 ei tueta. |\n | ``all_elements`` | M\u00e4\u00e4ritt\u00e4\u00e4, annetaanko funktiolle vain yksi valitsimella l\u00f6ydetty elementtik\u00e4sittelij\u00e4 vai jos asetettu arvoon ``True``, kaikki l\u00f6ydetyt elementit annetaan taulukkona. |\n\n Esimerkki ``all_elements=True``:n kanssa:\n | ${tekstit}= Arvioi JavaScript painike\n | ... (elementit, arg) => {\n | ... let teksti = []\n | ... for (e of elementit) {\n | ... console.log(e.innerText)\n | ... teksti.push(e.innerText)\n | ... }\n | ... teksti.push(arg)\n | ... return teksti\n | ... }\n | ... all_elements=True\n | ... arg=Vain toinen teksti\n\n Avainsana k\u00e4ytt\u00e4\u00e4 tiukkaa tilaa, jos ``all_elements`` on ``False``. Katso `Elementtien l\u00f6yt\u00e4minen` lis\u00e4tietoja tiukasta tilasta.\n\n [https://github.com/MarketSquare/robotframework-browser/tree/main/atest/test/06_Examples/js_evaluation.robot | K\u00e4ytt\u00f6esimerkit. ]\n\n [https://forum.robotframework.org/t//4251|Kommentti >>]\n ",
"sha256": "b3289b6599f3d7921b09816e6f0248fc7d5a972b067d8185944ca874528c80a4"
},
"highlight_elements": {
"name": "korosta_elementtej\u00e4",
"doc": "Lisää korostuksen elementteihin, jotka vastaavat ``valitsinta``. Tarjoaa tyylin muokkauksen.\n\n Palauttaa korostettujen elementtien määrän. Avainsana ei epäonnistu, vaikka `valitsin` ei löytäisi yhtään elementtiä sivulta. Avainsana ei vieritä elementtejä näkymään, ja korostettu elementti saattaa olla näkymän ulkopuolella. Käytä `Scroll To Element` -avainsanaa vierittääksesi elementin näkymään.\n\n | =Argumentit= | =Kuvaus= |\n | ``valitsin`` | Valitsimet, jotka tulisi korostaa. Katso tarkemmat tiedot valitsimista osiosta `Finding elements`. |\n | ``kesto`` | Määrittää, kuinka kauan valitsin tulisi olla korostettuna. Oletuksena ``5s`` => 5 sekuntia. Jos asetettu 0 sekunniksi, korostusta ei poisteta. |\n | ``leveys`` | Määrittää korostusreunan leveyden. Oletuksena 2px. |\n | ``tyyli`` | Määrittää reunan tyylin. Oletuksena katkoviiva. |\n | ``väri`` | Määrittää reunan värin. Kelvolliset värit esim. ovat: ``punainen``, ``sininen``, ``keltainen``, ``vaaleanpunainen``, ``musta`` |\n | ``tila`` | Määrittää korostuksen tilan. Kelvolliset tilat ovat: ``reuna`` (klassinen tila), ``playwright`` (Playwrightin natiivi). Jos ``playwright`` on käytössä, ``leveys``, ``tyyli`` ja ``väri`` ohitetaan ja vain yksi korostus voi tapahtua samaan aikaan. |\n\n Avainsana ei epäonnistu, vaikka valitsin kohdistaisi useisiin elementteihin.\n\n Esimerkki:\n | `Korosta elementit` input#login_button kesto=200ms\n | ${määrä} = `Korosta elementit` input#login_button kesto=200ms leveys=4px tyyli=kiinteä väri=\\#FF00FF\n | Pitäisi olla yhtä suuri ${määrä} ${5}\n\n [https://forum.robotframework.org/t//4294|Kommentti >>]\n ",
"sha256": "9da3cfc0444c41d0880158739ce4227d95d97716b9fe7e9b391e431d677c7681"
},
"set_assertion_formatters": {
"name": "aseta_v\u00e4itteen_muotoilijat",
"doc": "Aseta v\u00e4itteiden muotoilijat avainsanoille.\n\n | =Argumentit= | =Kuvaus= |\n | ``formatters`` | Avainsanojen ja muotoilijoiden sanakirja, jossa avain on avainsanan nimi, johon muotoilijat ovat sovellettu. Sanakirjan arvo on luettelo muotoilijoista, jotka ovat k\u00e4yt\u00f6ss\u00e4. M\u00e4\u00e4ritellyn avainsanan muotoilijat korvataan aina. Tyhj\u00e4 luettelo poistaa kaikki muotoilijat avainsanasta. Jos ``formatters`` on tyhj\u00e4 sanakirja, silloin kaikki muotoilijat poistetaan kaikista avainsanoista. |\n | ``scope`` | M\u00e4\u00e4ritt\u00e4\u00e4 muotoilijan elini\u00e4n, mahdolliset arvot ovat Global, Suite ja Test. |\n\n Katso `FormatterTypes` -tyypin dokumentaatiota lis\u00e4tietoja varten.\n\n On mahdollista m\u00e4\u00e4ritt\u00e4\u00e4 omia muotoilijoita lambda-funktioina.\n\n Esimerkki:\n | `Aseta v\u00e4itteiden muotoilijat` {\"Hanki teksti\": [\"strip\", \"normaalitilassa v\u00e4lit\"]} # T\u00e4m\u00e4 muuttaa kaikki v\u00e4lit yhdeksi v\u00e4lily\u00f6nniksi ja poistaa v\u00e4lily\u00f6nnit merkkijonon alusta ja lopusta.\n | `Aseta v\u00e4itteiden muotoilijat` {\"Hanki otsikko\": [\"sovelletaan odotettuun\",\"lambda x: x.replace(' ', '')\"]} # T\u00e4m\u00e4 poistaa kaikki v\u00e4lit merkkijonosta.\n ",
"sha256": "ef31a3a8435f598903497736a23f903b42a1f73c306a0360983524c02039084c"
},
"check_checkbox": {
"name": "valiste_valintaruutu",
"doc": "Tarkistaa valintaruudun tai valitsee valintapainikkeen, jonka l\u00f6yt\u00e4\u00e4 ``selector``-valitsimen avulla.\n\n | =Argumentit= | =Kuvaus= |\n | ``selector`` | Valintaruudun valitsin. Katso `Elementtien etsiminen` -osio tarkempien valitsintietojen saamiseksi. |\n | ``force`` | Aseta Trueksi ohittaaksesi Playwrightin [https://playwright.dev/docs/actionability | Toimintakyvyn tarkistukset]. |\n\n Avainsana k\u00e4ytt\u00e4\u00e4 tiukkaa tilaa, katso `Elementtien etsiminen` lis\u00e4tietoja tiukasta tilasta.\n\n Ei tee mit\u00e4\u00e4n, jos elementti on jo tarkistettu/valittu.\n\n [https://forum.robotframework.org/t//4235|Kommentti >>]\n ",
"sha256": "2d02c689a8fa6a876a2d3fbec0ce1b4de3eeb33137cb2c524fcc9598872b6b28"
},
"clear_text": {
"name": "tyhjenna_teksti",
"doc": "Tyhjent\u00e4\u00e4 tekstikent\u00e4n, joka l\u00f6ytyy ``selector``-valitsimen avulla.\n\n | =Argumentit= | =Kuvaus= |\n | ``selector`` | Tekstikent\u00e4n valitsin. Katso `Elementtien etsiminen` -osio tarkempien valitsintietojen saamiseksi. |\n\n Avainsana k\u00e4ytt\u00e4\u00e4 tiukkaa tilaa, katso `Elementtien etsiminen` lis\u00e4tietoja tiukasta tilasta.\n\n [https://forum.robotframework.org/t//4237|Kommentti >>]\n ",
"sha256": "d86e92f55b35da7e99c8541078514872afb594262f8d1c9ab78768575f7efad0"
},
"click": {
"name": "klikkaus",
"doc": "Simuloi hiiren napsautusta elementiss\u00e4, joka l\u00f6ytyy ``selector``-valitsimen avulla.\n\n T\u00e4m\u00e4 avainsana napsauttaa elementti\u00e4, joka vastaa ``selector``-valitsinta suorittamalla seuraavat vaiheet:\n - Etsi elementti, joka vastaa valitsinta. Jos sellaista ei ole, odota, kunnes vastaava elementti liitet\u00e4\u00e4n DOM:aan.\n - Odota toimintakyvyn tarkistuksia vastaavalle elementille, ellei ``force``-valintaa ole asetettu.\n Jos elementti irrotetaan tarkistusten aikana, koko toiminto yritet\u00e4\u00e4n uudelleen.\n - Vierit\u00e4 elementti n\u00e4kym\u00e4\u00e4n tarvittaessa.\n - K\u00e4yt\u00e4 `Mouse Button` -toimintoa napsauttaaksesi elementin keskell\u00e4 tai m\u00e4\u00e4ritetyss\u00e4 sijainnissa.\n - Odota aloitettua siirtymist\u00e4 joko onnistuakseen tai ep\u00e4onnistuakseen.\n\n\n | =Argumentit= | =Kuvaus= |\n | ``selector`` | Napsautettava valitsimeen liittyv\u00e4 elementti. Katso `Elementtien etsiminen` -osio tarkempien valitsintietojen saamiseksi. |\n | ``button`` | Oletusarvo on ``left``, jos se on virheellinen. |\n\n Avainsana k\u00e4ytt\u00e4\u00e4 tiukkaa tilaa, katso `Elementtien etsiminen` lis\u00e4tietoja tiukasta tilasta.\n\n Esimerkki:\n | `Click` id=button_location\n | `Click` id=button_location left\n | `Click` id=button_location right\n\n [https://forum.robotframework.org/t//4238|Kommentti >>]\n ",
"sha256": "762e5c9459b6a7e1c262b76d798fdd54fb58957759ac5126eb4d309b03b7fb67"
},
"click_with_options": {
"name": "napsauta_vaihtoehtoja",
"doc": "Simuloi hiiren napsautuksen elementtiin, joka löytyy ``valitsimella``.\n\n Tämä avainsana napsauttaa elementtiä, joka vastaa ``valitsinta``, suorittamalla seuraavat vaiheet:\n - Etsi elementti, joka vastaa valitsinta. Jos sitä ei löydy, odota, kunnes vastaava elementti lisätään DOM:iin.\n - Odota, kunnes todennettavuustarkastukset elementille on suoritettu, ellei ``force``-vaihtoehtoa ole asetettu.\n Jos elementti irrotetaan tarkistusten aikana, koko toiminto toistetaan.\n - Vieritä elementti näkyviin tarvittaessa.\n - Käytä `Hiiren painiketta` napsauttaaksesi elementin keskikohtaa tai määritettyä sijaintia.\n - Odota, että aloitettu navigointi onnistuu tai epäonnistuu, ellei ``noWaitAfter``-vaihtoehtoa ole asetettu.\n\n\n | =Argumentit= | =Kuvaus= |\n | ``valitsin`` | Valitsinelementti, johon napsautetaan. Katso lisätietoja valitsimista kohdasta `Elementtien löytäminen`. |\n | ``painike`` | Oletuksena ``vasen`` jos virheellinen. |\n | ``*modifiers`` | Modifikaattorinäppäimet painettavaksi. Varmistaa, että vain nämä modifikaattorit ovat painettuina napsautuksen aikana, ja palauttaa sitten nykyiset modifikaattorit takaisin. Jos ei määritetä, käytetään nykyisiä painettuja modifikaattoreita. Modifikaattorit voidaan määrittää missä tahansa järjestyksessä, ja useita modifikaattoreita voidaan määrittää. Kelvolliset modifikaattorinäppäimet ovat ``Control``, ``Alt``, ``Shift`` ja ``Meta``. Koska argumentti `*modifiers` on vain sijaintiperusteinen argumentti, kaikki edeltävät avainsana-argumentit on määritettävä sijaintiperusteisina ennen `*modifiers`-argumenttia. |\n | ``napsautustenMäärä`` | Oletuksena 1. |\n | ``viive`` | Aika, joka odotetaan hiiren alas- ja ylöspainallusten välillä. Oletuksena 0. |\n | ``sijainti_x`` ``sijainti_y`` | Piste, johon napsautetaan suhteessa elementin vasempaan yläkulmaan. Vain positiiviset arvot elementin rajoissa ovat sallittuja. Jos ei määritetä, napsautetaan elementin näkyvään kohtaan. |\n | ``force`` | Aseta True ohittaaksesi Playwrightin toiminnantarkistukset (https://playwright.dev/docs/actionability). |\n | ``noWaitAfter`` | Vanhentunut. Tämä asetus on oletuksena true tulevaisuudessa. Toiminnot, jotka käynnistävät navigoinnin, odottavat, että nämä navigoinnit tapahtuvat ja sivut alkavat latautua. Voit kieltäytyä odottamasta asettamalla tämän lipun. Tarvitset tätä vaihtoehtoa vain poikkeuksellisissa tapauksissa, kuten navigoidessasi pääsemättömiin sivuihin. Oletuksena ``False``. |\n | ``koe`` | Kun tämä on asetettu, tämä menetelmä suorittaa vain todennettavuustarkastukset ja ohittaa toiminnon. Oletuksena false. Hyödyllinen, kun haluat odottaa, että elementti on valmis toiminnalle ilman sen suorittamista. |\n\n Argumentit ``napsautustenMäärä``, ``viive``, ``sijainti_x``, ``sijainti_y``, ``force``, ``noWaitAfter`` ja ``koe`` ovat nimettyjä argumentteja ja ne on määritettävä käyttämällä niiden nimiä.\n\n Avainsana käyttää tiukkaa tilaa, katso lisätietoja tiukasta tilasta kohdasta `Elementtien löytäminen`.\n\n Esimerkki:\n | `Napsauta Valinnoilla` id=painike_sijainti\n | `Napsauta Valinnoilla` id=painike_sijainti koe=True\n | `Napsauta Valinnoilla` \\#napsautaValinnoilla viive=100ms napsautustenMäärä=2\n | `Napsauta Valinnoilla` id=napsautaModifikaattoreilla vasen Alt Meta Shift napsautustenMäärä=1 force=True\n | `Napsauta Valinnoilla` id=napsautaValinnoilla oikea napsautustenMäärä=2 force=True\n\n [https://forum.robotframework.org/t//5936|Kommentti >>]\n ",
"sha256": "9e0f2048e478b06bf94289f885f687a1a4dc700c84efce9d808826729670f6bf"
},
"deselect_options": {
"name": "poista_valinnat",
"doc": "Poistaa kaikki vaihtoehdot valitusta valintaelementist\u00e4, joka l\u00f6ytyy ``valitsimella``.\n\n| =Argumentit= | =Kuvaus= |\n| ``valitsin`` | Valitun valinta-elementin valitsin. Katso `Elementtien l\u00f6yt\u00e4minen` -osio tarkempia tietoja valitsimista. |\n\nJos haluat valita yhden tai useampia tiettyj\u00e4 vaihtoehtoja ja t\u00e4ll\u00e4 hetkell\u00e4 on valittuna enemm\u00e4n vaihtoehtoja,\nk\u00e4yt\u00e4 `Valitse vaihtoehdot` -avainsanaa valitaksesi lopussa valittavat vaihtoehdot.\n\nAvainsana k\u00e4ytt\u00e4\u00e4 tiukkaa tilaa, katso `Elementtien l\u00f6yt\u00e4minen` tarkempia tietoja tiukasta tilasta.\n\n[https://forum.robotframework.org/t//4245|Kommentti >>]\n",
"sha256": "a6a570eb212807be363732603c570d2476fa9df156541107281b6c267c1bc321"
},
"drag_and_drop": {
"name": "ved\u00e4_ja_pudota",
"doc": "Suorittaa Ved\u00e4&Pudota -toiminnon elementist\u00e4, joka on valittu ``l\u00e4hteell\u00e4`` olevan elementin kautta elementtiin, joka on valittu ``kohdalla``.\n\n| =Argumentit= | =Kuvaus= |\n| ``l\u00e4hteen_valitsin`` | M\u00e4\u00e4ritt\u00e4\u00e4 elementin, jonka keskipiste on l\u00e4ht\u00f6piste. |\n| ``kohdan_valitsin`` | M\u00e4\u00e4ritt\u00e4\u00e4 elementin, jonka keskipiste on lopetuspiste. |\n| ``askeleet`` | M\u00e4\u00e4rittelee, kuinka monta v\u00e4livaiheen hiiren liike-tapahtumaa l\u00e4hetet\u00e4\u00e4n. Usein on tarpeen l\u00e4hett\u00e4\u00e4 useampi kuin yksi v\u00e4livaiheen tapahtuma halutun tuloksen saamiseksi. Oletusarvo on 1. |\n\nKatso `Elementtien l\u00f6yt\u00e4minen` -osio tarkempia tietoja valitsimista.\n\nEnsin se siirt\u00e4\u00e4 hiiren l\u00e4ht\u00f6pisteeseen,\nsitten painaa vasenta hiiren painiketta,\nsitten siirtyy m\u00e4\u00e4r\u00e4ttyyn m\u00e4\u00e4r\u00e4\u00e4n askeleita lopetuspisteeseen,\nsitten vapauttaa hiiren painikkeen.\n\nL\u00e4ht\u00f6- ja lopetuspiste m\u00e4\u00e4ritell\u00e4\u00e4n elementin rajauslaatikon keskipisteen perusteella.\n\nAvainsana k\u00e4ytt\u00e4\u00e4 tiukkaa tilaa, katso `Elementtien l\u00f6yt\u00e4minen` tarkempia tietoja tiukasta tilasta.\n\nEsimerkki\n| `Ved\u00e4 Ja Pudota` \"Ympyr\u00e4\" \"Tavoite\"\n\n[https://forum.robotframework.org/t//4247|Kommentti >>]\n",
"sha256": "6fd60673d8a9a33420e2f272d81684ca1b2b7d7daa4e510261831a8cde2dfc17"
},
"drag_and_drop_by_coordinates": {
"name": "ved\u00e4_ja_pudota_koordinaattien_perusteella",
"doc": "Suorittaa Ved\u00e4&Pudota -toiminnon koordinaatista toiseen koordinaattiin.\n\nEnsin se siirt\u00e4\u00e4 hiiren l\u00e4ht\u00f6pisteeseen,\nsitten painaa vasenta hiiren painiketta,\nsitten siirtyy m\u00e4\u00e4r\u00e4ttyyn m\u00e4\u00e4r\u00e4\u00e4n askeleita lopetuspisteeseen,\nsitten vapauttaa hiiren painikkeen.\n\nL\u00e4ht\u00f6- ja lopetuspiste m\u00e4\u00e4ritell\u00e4\u00e4n ``x`` ja ``y`` -koordinaattien perusteella\nsivun n\u00e4kym\u00e4n vasemman yl\u00e4kulman suhteen.\n\n| ``from_x`` & ``from_y`` | M\u00e4\u00e4ritt\u00e4v\u00e4t aloituspisteen sivulla. |\n| ``to_x`` & ``to_y`` | M\u00e4\u00e4ritt\u00e4v\u00e4t lopetuspisteen. |\n| ``askeleet`` | M\u00e4\u00e4rittelee, kuinka monta v\u00e4livaiheen hiiren liike-tapahtumaa l\u00e4hetet\u00e4\u00e4n. Usein on tarpeen l\u00e4hett\u00e4\u00e4 useampi kuin yksi v\u00e4livaiheen tapahtuma halutun tuloksen saamiseksi. Oletusarvo on 1. |\n\nEsimerkki:\n| `Ved\u00e4 Ja Pudota Koordinaattien Perusteella`\n| ... from_x=30 from_y=30\n| ... to_x=10 to_y=10 askeleet=20\n\n[https://forum.robotframework.org/t//4248|Kommentti >>]\n",
"sha256": "be0f0f703254825d5790a94e9592c6c5f31819919d9fad34d28ad8b7b73d431d"
},
"drag_and_drop_relative_to": {
"name": "ved\u00e4_ja_pudota_suhteessa",
"doc": "Suorittaa Ved\u00e4 ja Pudota -toiminnon valitusta elementist\u00e4 ``selector_from`` koordinaatteihin suhteessa tuon elementin keskukseen.\n\nT\u00e4t\u00e4 avainsanaa voi k\u00e4ytt\u00e4\u00e4 k\u00e4tev\u00e4n\u00e4 simuloimaan pyyhk\u00e4isytoimintoja.\n\n| =Argumentit= | =Kuvaus= |\n| ``selector_from`` | m\u00e4\u00e4ritt\u00e4\u00e4 elementin, jonka keskus on l\u00e4ht\u00f6piste. |\n| ``x`` & ``y`` | m\u00e4\u00e4ritt\u00e4\u00e4 loppupisteen, joka on suhteessa l\u00e4ht\u00f6pisteeseen. |\n| ``steps`` | m\u00e4\u00e4ritt\u00e4\u00e4 kuinka monta v\u00e4livaiheen hiiren siirto -tapahtumaa l\u00e4hetet\u00e4\u00e4n. Usein tarvitaan l\u00e4hett\u00e4m\u00e4\u00e4n useampia kuin yksi v\u00e4livaiheen tapahtuma saadakseen halutun tuloksen. Oletusarvo on 1. |\n\nKatso `Elementtien l\u00f6yt\u00e4minen` -osio tarkemmat tiedot valitsimista.\n\nEnsin siirt\u00e4\u00e4 hiiren l\u00e4ht\u00f6pisteeseen (boundingboxin keskelle),\nsitten painaa vasenta hiiren painiketta,\nsitten siirtyy suhteelliseen sijaintiin annettujen v\u00e4livaiheiden kanssa,\nsitten vapauttaa hiiren painikkeen.\n\nAvainsana k\u00e4ytt\u00e4\u00e4 tiukkaa tilaa, katso `Elementtien l\u00f6yt\u00e4minen` lis\u00e4tietoja tiukasta tilasta.\n\nEsimerkki\n| `Ved\u00e4 Ja Pudota Suhteessa` \"Ympyr\u00e4\" -20 0 # Liikuttaa elementti\u00e4 20 pikseli\u00e4 vasemmalle\n\n[https://forum.robotframework.org/t//4249|Kommentoi >>]\n",
"sha256": "987401d3cc1847e43ed6667387626877d2adf60e88f1b753920195dca446b897"
},
"fill_secret": {
"name": "t\u00e4yt\u00e4_salainen",
"doc": "T\u00e4ytt\u00e4\u00e4 annetun salaisuuden muuttujasta ``variable_name`` l\u00f6ytyv\u00e4\u00e4n\n tekstikentt\u00e4\u00e4n, joka on l\u00f6ydetty ``selector``:ll\u00e4.\n\n\n | =Argumentit= | =Kuvaus= |\n | ``salaisuus`` | Salainen merkkijono, joka tulisi t\u00e4ytt\u00e4\u00e4 tekstikentt\u00e4\u00e4n. |\n | ``valitsin`` | Tekstikent\u00e4n valitsin. Katso `Elementtien l\u00f6yt\u00e4minen` -osio tarkemmat tiedot valitsimista. |\n | ``pakota`` | Aseta Tosi arvoksi ohittaaksesi Playwrightin [https://playwright.dev/docs/actionability | Toimintakyky tarkistukset]. |\n\n\n T\u00e4m\u00e4 avainsana ei kirjaa salaisuutta Robot Framework -lokeihin, kun\n avainsana ratkaisee ``salaisuus`` muuttujan sis\u00e4isesti.\n Kun ``salaisuus`` muuttuja on etuliitteell\u00e4 `$`, ilman aaltosulkeita,\n kirjasto ratkaisee vastaavan Robot Framework -muuttujan.\n\n Jos ``salaisuus`` muuttuja on etuliitteell\u00e4 `%`, kirjasto ratkaisee\n vastaavan ymp\u00e4rist\u00f6muuttujan. Esimerkiksi `$Salasana``\n ratkaisee ``${Salasana}`` Robot Framework -muuttujan.\n My\u00f6s ``%ENV_SALASANA`` ratkaisee ``%{ENV_SALASANA}`` ymp\u00e4rist\u00f6muuttujan.\n\n *Tavallisten Robot Framework -muuttujien k\u00e4ytt\u00f6 kuten ``${salasana}`` ei toimi!*\n\n *Tavallinen selke\u00e4 teksti ei toimi.*\n Jos haluat k\u00e4ytt\u00e4\u00e4 selke\u00e4\u00e4 teksti\u00e4, k\u00e4yt\u00e4 sen sijaan `T\u00e4yt\u00e4 Teksti` avainsanaa.\n\n T\u00e4m\u00e4 avainsana toimii my\u00f6s annetun salakirjoitetun salakirjoitetun tekstin kanssa,\n joka on salattu Crypto-kirjastolla.\n Katso lis\u00e4tietoja [https://github.com/Snooz82/robotframework-crypto | Crypto-kirjastosta].\n\n Jos ``enable_playwright_debug`` on otettu k\u00e4ytt\u00f6\u00f6n kirjaston tuonnissa,\n salaisuus n\u00e4kyy aina selke\u00e4n\u00e4 tekstin\u00e4 playwrightin vianm\u00e4\u00e4rityslokeissa,\n riippumatta Robot Framework -lokin tasosta.\n\n Avainsana k\u00e4ytt\u00e4\u00e4 tiukkaa tilaa, katso `Elementtien l\u00f6yt\u00e4minen` lis\u00e4tietoja tiukasta tilasta.\n\n Katso `T\u00e4yt\u00e4 Teksti` muut tiedot.\n\n Esimerkki:\n | `T\u00e4yt\u00e4 Salainen` input#k\u00e4ytt\u00e4j\u00e4nimi_kentt\u00e4 $k\u00e4ytt\u00e4j\u00e4nimi # Avainsana ratkaisee muuttujan arvon Robot Framework -muuttujista\n | `T\u00e4yt\u00e4 Salainen` input#k\u00e4ytt\u00e4j\u00e4nimi_kentt\u00e4 %k\u00e4ytt\u00e4j\u00e4nimi # Avainsana ratkaisee muuttujan arvon ymp\u00e4rist\u00f6muuttujista\n\n [https://forum.robotframework.org/t//4253|Kommentoi >>]\n ",
"sha256": "c2523dae76c28a4d3154082ea0a2ebf8dabfb098c1c4bff60ff91cae359653e1"
},
"fill_text": {
"name": "t\u00e4yt\u00e4_teksti",
"doc": "Tyhjent\u00e4\u00e4 ja t\u00e4ytt\u00e4\u00e4 annetun ``txt`` tekstill\u00e4 l\u00f6ydettyyn tekstikentt\u00e4\u00e4n ``selector``:n perusteella.\n\n T\u00e4m\u00e4 metodi odottaa, ett\u00e4 elementti, joka vastaa ``selector``:ia, ilmestyy,\n odottaa toimintakyvyn tarkistuksia, keskittyy elementtiin, t\u00e4ytt\u00e4\u00e4 sen ja\n laukaisee sy\u00f6tt\u00f6tapahtuman t\u00e4ytt\u00e4misen j\u00e4lkeen.\n\n Jos ``selector``:ia vastaava elementti ei ole <input>, <textarea> tai\n [contenteditable]-elementti, t\u00e4m\u00e4 metodi heitt\u00e4\u00e4 virheen. Huomaa, ett\u00e4\n voit antaa tyhj\u00e4n merkkijonon ``txt``:n\u00e4 tyhjent\u00e4\u00e4ksesi sy\u00f6tekent\u00e4n.\n\n\n | =Argumentit= | =Kuvaus= |\n | ``selector`` | Tekstikent\u00e4n valitsin. Katso `Elementtien l\u00f6yt\u00e4minen` -osio tarkemmat tiedot valitsimista. |\n | ``txt`` | Teksti tekstikent\u00e4lle. |\n | ``pakota`` | Aseta Tosi arvoksi ohittaaksesi Playwrightin [https://playwright.dev/docs/actionability | Toimintakyky tarkistukset]. |\n\n Avainsana k\u00e4ytt\u00e4\u00e4 tiukkaa tilaa, katso `Elementtien l\u00f6yt\u00e4minen` lis\u00e4tietoja tiukasta tilasta.\n\n Katso `Kirjoita Teksti` emuloidaksesi teksti\u00e4 kirjoittamalla merkkej\u00e4 kerrallaan.\n\n Esimerkki:\n | `T\u00e4yt\u00e4 Teksti` css=input#k\u00e4ytt\u00e4j\u00e4nimi_kentt\u00e4 k\u00e4ytt\u00e4j\u00e4nimi\n\n [https://forum.robotframework.org/t//4254|Kommentoi >>]\n ",
"sha256": "8ce0ab6f2245bbd0136b188bc6bd5ffb6cfff81cfebdeba2c245361f530a5ff9"
},
"focus": {
"name": "kohdista",
"doc": "Siirt\u00e4\u00e4 fokuksen elementtiin, joka on l\u00f6ydetty ``selector``:n perusteella.\n\n | =Argumentit= | =Kuvaus= |\n | ``selector`` | Elementin valitsin. Katso `Elementtien l\u00f6yt\u00e4minen` -osio tarkemmat tiedot valitsimista. |\n\n Avainsana k\u00e4ytt\u00e4\u00e4 tiukkaa tilaa, katso `Elementtien l\u00f6yt\u00e4minen` lis\u00e4tietoja tiukasta tilasta.\n\n Jos valitsimelle ei l\u00f6ydy vastaavaa elementti\u00e4, metodi odottaa, kunnes\n vastaava elementti ilmestyy DOM:aan. Aikakatkaisu 10 sekunnin kuluttua.\n\n [https://forum.robotframework.org/t//4255|Kommentoi >>]\n ",
"sha256": "d1b5334000ef666b5eb518e00838220eef4eab92a8247ace81df7aa09bae196f"
},
"handle_future_dialogs": {
"name": "k\u00e4sittele_tulevat_dialogit",
"doc": "K\u00e4sittele seuraava dialogi sivulla ``toiminnolla``.\n\n Dialogi voi olla mik\u00e4 tahansa varoitus-, ennen-poistumista-, vahvista- tai kysy-dialogi. Dialogin k\u00e4sittely\n on kutsuttava ennen toimintaa, kuten esimerkiksi napsautusta, joka laukaisee\n dialogin.\n\n Jos k\u00e4sittelij\u00e4\u00e4 ei ole asetettu, dialogit hyl\u00e4t\u00e4\u00e4n oletuksena.\n\n | =Argumentit= | =Kuvaus= |\n | ``toiminto`` | Miten varoitus k\u00e4sitell\u00e4\u00e4n. Voi olla ``hyv\u00e4ksy`` tai ``hylk\u00e4\u00e4``. |\n | ``kysy_tieto`` | Arvo, joka sy\u00f6tet\u00e4\u00e4n kyselyyn. K\u00e4ytet\u00e4\u00e4n vain, jos ``toiminto``-argumentti on ``hyv\u00e4ksy``. Oletusarvo on tyhj\u00e4 merkkijono. |\n\n Esimerkki:\n | `K\u00e4sittele Tulevat Dialogit` toiminto=hyv\u00e4ksy\n | `Napsauta` \\#varoitukset\n\n [https://forum.robotframework.org/t//4293|Kommentoi >>]\n ",
"sha256": "119d5c2bcf30e97b996b4bf1136c760117a5642c7f82e1646d78e676f1b5e96b"
},
"hover": {
"name": "leijuta",
"doc": "Siirt\u00e4\u00e4 virtuaalisen hiiren ja vieritt\u00e4\u00e4 elementtiin, joka l\u00f6ydet\u00e4\u00e4n ``selector``:n perusteella.\n\n T\u00e4m\u00e4 metodi leijuu elementin yli, joka vastaa ``selector``:ia suorittamalla seuraavat vaiheet:\n - Etsi elementti, joka vastaa ``selector``:ia. Jos sellaista ei ole,\n odota kunnes vastaava elementti on liitetty DOM:aan.\n - Odota toimintakyvyn tarkistuksia vastaavalle elementille, ellei ``pakota``-valintaa ole asetettu.\n Jos elementti irrotetaan tarkistusten aikana, koko toiminto yritet\u00e4\u00e4n uudelleen.\n - Vierit\u00e4 elementti n\u00e4kyviin tarvittaessa.\n - K\u00e4yt\u00e4 `Hiiren Siirto` -toimintoa leijumaan elementin keskustan yli tai m\u00e4\u00e4ritettyyn ``sijaintiin``.\n\n\n | =Argumentit= | =Kuvaus= |\n | ``selector`` | Valitsin elementille, jonka yli leijutaan. Katso `Elementtien l\u00f6yt\u00e4minen` -osio tarkemmat tiedot valitsimista. |\n | ``sijainti_x`` & ``sijainti_y`` | Piste, johon leijutaan suhteessa elementin bounding boxin vasempaan yl\u00e4kulmaan. Jos ei ole m\u00e4\u00e4ritetty, leijutaan elementin n\u00e4kyviss\u00e4 olevaan pisteeseen. Vain positiiviset arvot bounding-boxin sis\u00e4ll\u00e4 ovat sallittuja. |\n | ``pakota`` | Aseta Tosi arvoksi ohittaaksesi Playwrightin [https://playwright.dev/docs/actionability | Toimintakyky tarkistukset]. |\n | ``*modifikaattorit`` | Muokkausn\u00e4pp\u00e4imet painettavaksi. Varmistaa, ett\u00e4 vain n\u00e4m\u00e4 muokkausn\u00e4pp\u00e4imet ovat painettuna leijumisen aikana ja palauttaa sitten nykyiset muokkausn\u00e4pp\u00e4imet takaisin. Jos ei ole m\u00e4\u00e4ritetty, k\u00e4ytet\u00e4\u00e4n t\u00e4ll\u00e4 hetkell\u00e4 painettuja muokkausn\u00e4pp\u00e4imi\u00e4. |\n\n Avainsana k\u00e4ytt\u00e4\u00e4 tiukkaa tilaa, katso `Elementtien l\u00f6yt\u00e4minen` lis\u00e4tietoja tiukasta tilasta.\n\n Esimerkki:\n | `Leijuta` h1\n | `Leijuta` h1 10 20 Alt\n\n [https://forum.robotframework.org/t//4295|Kommentoi >>]\n ",
"sha256": "994aaabf9b4de2280dcb91dd21c7b5b22834ae26e4d37ba9fc70737cdddea3ef"
},
"keyboard_input": {
"name": "n\u00e4pp\u00e4imist\u00f6n_sy\u00f6tt\u00f6",
"doc": "Sy\u00f6t\u00e4 teksti\u00e4 sivulle virtuaalin\u00e4pp\u00e4imist\u00f6ll\u00e4.\n\n | =Argumentit= | =Kuvaus= |\n | ``toiminto`` | ``insertText``: L\u00e4hett\u00e4\u00e4 vain sy\u00f6tt\u00f6tapahtuman, ei l\u00e4het\u00e4 keydown-, keyup- tai keypress-tapahtumia. ``type``: L\u00e4hett\u00e4\u00e4 keydown-, keypress/input- ja keyup-tapahtuman jokaiselle merkille tekstiss\u00e4. |\n | ``sy\u00f6te`` | Sy\u00f6tetty merkkijono. _Ei mahdollista k\u00e4ytt\u00e4\u00e4 erikoisn\u00e4pp\u00e4imi\u00e4._ |\n | ``viive`` | Aika odottaa n\u00e4pp\u00e4inten painallusten v\u00e4liss\u00e4 Robot Frameworkin aikamuodossa. Oletusarvo on 0. |\n\n *Huomio:*\n Argumentin tyyppi `int` 'viiveelle' millisekunneissa on muutettu `timedelta` muotoon selaimessa 14.0.0. K\u00e4yt\u00e4 Robot Frameworkin aikamuotoa yksik\u00f6ill\u00e4 sen sijaan.\n\n\n Huomautus: Erityisn\u00e4pp\u00e4inten, kuten Control tai ArrowDown, painamiseksi k\u00e4yt\u00e4 n\u00e4pp\u00e4imist\u00f6.painamista.\n Muokkausn\u00e4pp\u00e4imet EIV\u00c4T vaikuta n\u00e4ihin metodeihin. Muokkausvaikutusten testaamiseksi k\u00e4yt\u00e4 yksitt\u00e4isi\u00e4 n\u00e4pp\u00e4inpainalluksia `N\u00e4pp\u00e4imist\u00f6n Nappi paina` -toiminnolla.\n\n Esimerkki:\n | `N\u00e4pp\u00e4imist\u00f6n Sy\u00f6tt\u00f6` insertText 0123456789\n\n [https://forum.robotframework.org/t//4297|Kommentoi >>]\n ",
"sha256": "45fbcb222775c1a1c71396af2389b1e74a1365e7e545f47a1377d509fcfda3b6"
},
"keyboard_key": {
"name": "n\u00e4pp\u00e4imist\u00f6n_nappi",
"doc": "Paina n\u00e4pp\u00e4imist\u00f6n n\u00e4pp\u00e4int\u00e4 virtuaalin\u00e4pp\u00e4imist\u00f6ll\u00e4 tai aseta n\u00e4pp\u00e4in yl\u00f6s tai alas.\n\n | =Argumentit= | =Kuvaus= |\n | ``toiminto`` | M\u00e4\u00e4ritt\u00e4\u00e4, pit\u00e4isik\u00f6 n\u00e4pp\u00e4imen olla vapautettu (``yl\u00f6s``), pidettyn\u00e4 (``alas``) tai painettuna kerran (``painallus``). ``alas`` tai ``yl\u00f6s`` ovat hy\u00f6dyllisi\u00e4 yhdistelmiss\u00e4 esimerkiksi Shiftin kanssa. |\n | ``n\u00e4pp\u00e4in`` | N\u00e4pp\u00e4in, joka painetaan. Esimerkki kelvollisista n\u00e4pp\u00e4imist\u00e4 ovat: ``F1`` - ``F12``, ``Digit0`` - ``Digit9``, ``KeyA`` - ``KeyZ``, ``Backquote``, ``Minus``, ``Equal``, ``Backslash``, ``Backspace``, ``Tab``, ``Delete``, ``Escape``, ``ArrowDown``, ``End``, ``Enter``, ``Home``, ``Insert``, ``PageDown``, ``PageUp``, ``ArrowRight``, ``ArrowUp`` , jne. |\n\n\n Hy\u00f6dyllisi\u00e4 n\u00e4pp\u00e4imi\u00e4 ``alas`` ja ``yl\u00f6s`` ovat esimerkiksi:\n ``Shift``, ``Control``, ``Alt``, ``Meta``, ``ShiftLeft``\n\n Esimerkki suorituksesta:\n | `N\u00e4pp\u00e4imist\u00f6n Nappi` painallus S\n | `N\u00e4pp\u00e4imist\u00f6n Nappi` alas Shift\n | `N\u00e4pp\u00e4imist\u00f6n Nappi` painallus ArrowLeft\n | `N\u00e4pp\u00e4imist\u00f6n Nappi` painallus Delete\n | `N\u00e4pp\u00e4imist\u00f6n Nappi` yl\u00f6s Shift\n\n Huomaa: Isojen kirjainten kirjoittaminen ei vaadi Shiftin apua. Voit kirjoittaa ne suoraan.\n\n [https://forum.robotframework.org/t//4298|Kommentoi >>]\n ",
"sha256": "35e58808653a0f06d75a562ef430317e7945311412a784bbaba97981f8887fbe"
},
"mouse_button": {
"name": "hiiren_painike",
"doc": "Napsauttaa, painaa tai vapauttaa hiiren painiketta.\n\n | =Argumentit= | =Kuvaus= |\n | ``toiminto`` | M\u00e4\u00e4ritt\u00e4\u00e4, onko se hiiren napsautus (``napsauta``), painikeen painaminen alas (``alas``) tai sen vapauttaminen (``yl\u00f6s``). |\n | ``x``, ``y`` | Koordinaatit, joihin siirryt\u00e4\u00e4n ennen toiminnon suorittamista. |\n | ``painike`` | Yksi seuraavista: ``vasen``, ``keskell\u00e4`` tai ``yl\u00f6s``. Oletusarvo on ``vasen``. |\n | ``napsautusm\u00e4\u00e4r\u00e4`` | M\u00e4\u00e4ritt\u00e4\u00e4 kuinka usein painiketta napsautetaan, jos toiminto on ``napsauta``. Oletusarvo on 1. |\n | ``viive`` | Viive Robot Frameworkin aikamuodossa hiiren painikkeen painalluksen ja vapautuksen v\u00e4lill\u00e4. Sit\u00e4 voidaan asettaa vain, jos toiminto on ``napsauta``. |\n\n *Huomio:*\n Argumentin tyyppi `int` 'viiveelle' millisekunneissa on muutettu `timedelta` muotoon selaimessa 14.0.0. K\u00e4yt\u00e4 sen sijaan Robot Frameworkin aikamuotoa.\n Refaktorointia varten lis\u00e4\u00e4 vain 'ms' viiveen numeron j\u00e4lkeen.\n\n Viiveen esimerkki:\n | `Hiiren Painike` napsauta 100 ms\n | `Hiiren Painike` napsauta ${dyn_viive} ms\n\n Hiiren painikkeen painamisen ja vapauttamisen v\u00e4lill\u00e4 liikkuminen on mahdollista `Hiiren Siirrolla`.\n\n Esimerkki:\n | `Leijuta` \"Este\" # Siirr\u00e4 hiirt\u00e4 elementin p\u00e4\u00e4lle\n | `Hiiren Painike` alas # Paina hiiren painiketta alas\n | `Hiiren Siirto Suhteessa` \"Este\" 500 # Ved\u00e4 hiirt\u00e4\n | `Hiiren Painike` yl\u00f6s # Vapauta hiiren painike\n\n [https://forum.robotframework.org/t//4303|Kommentoi >>]\n ",
"sha256": "431a0182ef1de8500888bf81956c858632bd242f546868bb123a0a3d41d70407"
},
"mouse_move": {
"name": "hiiren_siirto",
"doc": "Sen sijaan, ett\u00e4 k\u00e4ytet\u00e4\u00e4n valitsimia, komennolla hiiri voidaan ohjata koordinaattien avulla.\n Klikkauskomennot j\u00e4tt\u00e4v\u00e4t virtuaalihiiiren m\u00e4\u00e4ritettyihin koordinaatteihin.\n\n | =Argumentit= | =Kuvaus= |\n | ``x`` & ``y`` | Absoluuttiset koordinaatit, jotka alkavat sivun vasemmasta yl\u00e4kulmasta. |\n | ``askeleet`` | Hiiritapahtuman v\u00e4liaskelten lukum\u00e4\u00e4r\u00e4. Usein on tarpeen l\u00e4hett\u00e4\u00e4 useampi kuin yksi v\u00e4liaskel halutun tuloksen saamiseksi. Oletusarvo on 1. |\n\n Esimerkki:\n | `Hiiren Siirto` 400 400\n\n [https://forum.robotframework.org/t//4304|Kommentoi >>]\n ",
"sha256": "74d8da8a6217405d70392d8391bdb00670145e951fc6a9b048bbb7361f35c162"
},
"mouse_move_relative_to": {
"name": "hiiren_siirto_suhde_sijaintiin",
"doc": "Siirt\u00e4\u00e4 hiiren kohdistimen suhteessa valittuun elementtiin.\n\n | =Argumentit= | =Kuvaus= |\n | ``valitsin`` | Tunnistaa elementin, jonka keskipiste on aloituspiste. |\n | ``x`` & ``y`` | Ovat suhteellisia koordinaatteja elementin bounding boxin keskipisteeseen. |\n | ``askeleet`` | Hiiritapahtuman v\u00e4liaskelten lukum\u00e4\u00e4r\u00e4. Usein on tarpeen l\u00e4hett\u00e4\u00e4 useampi kuin yksi v\u00e4liaskel halutun tuloksen saamiseksi. Oletusarvo on 1. |\n\n Avainsana k\u00e4ytt\u00e4\u00e4 tiukkaa tilaa, katso `Elementtien l\u00f6yt\u00e4minen` lis\u00e4tietoja tiukasta tilasta.\n\n Esimerkki:\n | `Hiiren Siirto Suhteessa` id=osoitin -100\n\n [https://forum.robotframework.org/t//4305|Kommentoi >>]\n ",
"sha256": "aeabc646ae1dd51ed1c9b5d23bef0f7361d3ac5d0de50e283bdabf4cf53cec58"
},
"mouse_wheel": {
"name": "hiiren_rulla",
"doc": "Simuloi k\u00e4ytt\u00e4j\u00e4n hiiren rullan py\u00f6rimist\u00e4.\n\n | =Argumentit= | =Kuvaus= |\n | ``deltaX`` & ``deltaY`` | Pikselit, jotka vieritet\u00e4\u00e4n vaakasuunnassa ja pystysuunnassa. |\n\n Esimerkki:\n | # Ennen hiiren rullan interaktiota hiiren t\u00e4ytyy olla sijoitettuna selainikkunaan.\n | `Leijuta` body\n | `Hiiren Rulla` 0 250\n\n [https://forum.robotframework.org/t//5186|Kommentoi >>]\n ",
"sha256": "1a551b5915a0c15a42a68838b1611e9067aedc2ba5571c072bcabf80758e8cf0"
},
"press_keys": {
"name": "painaa_n\u00e4pp\u00e4imi\u00e4",
"doc": "Kirjoittaa annetun n\u00e4pp\u00e4inyhdistelm\u00e4n elementtiin, joka l\u00f6ytyy valitsimella ``selector``.\n\n\n | =Argumentit= | =Kuvaus= |\n | ``valitsin`` | Tekstikent\u00e4n valitsin. Katso `Elementtien l\u00f6yt\u00e4minen` -osio lis\u00e4tietoja valitsimista. |\n | ``*n\u00e4pp\u00e4imet`` | N\u00e4pp\u00e4imet, jotka painetaan per\u00e4kk\u00e4in. Yhdistelm\u00e4muokkaajia yhden n\u00e4pp\u00e4inpainalluksen kanssa, kuten ``Control+Shift+T``, voidaan yhdist\u00e4\u00e4 + -merkill\u00e4. |\n\n\n Tukee arvoja kuten \"a, b\", jotka kirjoitetaan automaattisesti.\n\n Tukee my\u00f6s n\u00e4pp\u00e4inten tunnisteita, kuten ``ArrowLeft`` tai ``Backspace``.\n\n Avainsana k\u00e4ytt\u00e4\u00e4 tiukkaa tilaa, katso `Elementtien l\u00f6yt\u00e4minen` lis\u00e4tietoja tiukasta tilasta.\n\n Katso playwrightin dokumentaatiosta kattavampi lista\n tuetuista sy\u00f6tt\u00f6n\u00e4pp\u00e4imist\u00e4.\n [https://playwright.dev/docs/api/class-page#page-press | Playwrightin pain-n\u00e4pp\u00e4imist\u00f6dokumentaatio.]\n\n Esimerkki:\n | # Avainsana Valitsin *N\u00e4pp\u00e4imet\n | `Painaa N\u00e4pp\u00e4imi\u00e4` //*[@id=\"k\u00e4ytt\u00e4j\u00e4nimi_kentt\u00e4\"] h e l o ArrowLeft l\n\n [https://forum.robotframework.org/t//4311|Kommentoi >>]\n ",
"sha256": "deb96e75e73d0fa2992c4fbccc6461eeaa9932f8a8e3faa0262a905f7103219e"
},
"record_selector": {
"name": "tallenna_valitsin",
"doc": "Tallentaa hiiren alla olevan valitsimen.\n\n\n | =Argumentit= | =Kuvaus= |\n | ``tunniste`` | teksti, joka n\u00e4ytet\u00e4\u00e4n laatikossa sivulla tallennettaessa. |\n\n Keskity sivulle ja liikuta hiirt\u00e4 elementin p\u00e4\u00e4lle, jonka haluat valita.\n\n Esimerkki:\n | ${valitsin} = `Tallenna Valitsin` Painike\n | `Klikkaa` ${valitsin}\n | ${valitsin2} = `Tallenna Valitsin` Sivun otsikko\n | `Hanki Teksti` ${valitsin2} == Odotettu teksti\n\n [https://forum.robotframework.org/t//4315|Kommentoi >>]\n ",
"sha256": "f1c4e9c9d14cdd711907e39f4814e8c0e1638e03847782b3c65e9de45a044472"
},
"scroll_by": {
"name": "vierit\u00e4_m\u00e4\u00e4r\u00e4ll\u00e4",
"doc": "Vieritt\u00e4\u00e4 elementti\u00e4 tai sivua nykyisest\u00e4 sijainnista annettujen arvojen suhteen.\n\n | =Argumentit= | =Kuvaus= |\n | ``valitsin`` | Elementin valitsin. Jos valitsin on ``${None}`` tai ``${Empty}``, sivua vierit\u00e4\u00e4n. Varmistaaksesi, ett\u00e4 elementti on n\u00e4kyviss\u00e4, k\u00e4yt\u00e4 sen sijaan `Leijuta` -avainsanaa. Katso `Elementtien l\u00f6yt\u00e4minen` -osio lis\u00e4tietoja valitsimista. |\n | ``pystysuunta`` | m\u00e4\u00e4ritt\u00e4\u00e4, kuinka kaukana ja mihin suuntaan vierit\u00e4\u00e4n pystysuunnassa. Se voi olla positiivinen tai negatiivinen luku. Positiivinen vieritt\u00e4\u00e4 alasp\u00e4in, kuten ``50``, negatiivinen yl\u00f6sp\u00e4in, kuten ``-50``. Se voi olla prosentuaalinen arvo absoluuttisesta vieritett\u00e4v\u00e4st\u00e4 koosta, kuten ``9.95%`` tai negatiivinen, kuten ``-10%``. Se voi olla merkkijono ``height``, m\u00e4\u00e4ritellen vieritt\u00e4m\u00e4\u00e4n tarkasti yhden n\u00e4kyv\u00e4n korkeuden alas- tai yl\u00f6sp\u00e4in k\u00e4ytt\u00e4en ``-height``. _Ole tietoinen, ett\u00e4 jotkut sivut lataavat sis\u00e4lt\u00f6\u00e4 laiskasti ja lataavat lis\u00e4\u00e4 sis\u00e4lt\u00f6\u00e4, kun vierit\u00e4t alas p\u00e4in._ K\u00e4ytet\u00e4\u00e4n nykyisen vieritett\u00e4v\u00e4n korkeuden prosenttiosuutta, mik\u00e4 voi muuttua. |\n | ``vaakasuunta`` | m\u00e4\u00e4ritt\u00e4\u00e4, minne vieritet\u00e4\u00e4n vaakasuunnassa. Toimii samalla tavalla kuin pystysuunta, mutta m\u00e4\u00e4rittelee positiiviset arvot oikealle ja negatiiviset arvot vasemmalle. ``width`` m\u00e4\u00e4rittelee vieritt\u00e4m\u00e4\u00e4n tarkasti yhden n\u00e4kyv\u00e4n alueen oikealle p\u00e4in. |\n | ``k\u00e4yt\u00f6s`` | m\u00e4\u00e4ritt\u00e4\u00e4, tapahtuuko vieritys suoraan vai sujuvasti. |\n\n Avainsana k\u00e4ytt\u00e4\u00e4 tiukkaa tilaa, katso `Elementtien l\u00f6yt\u00e4minen` lis\u00e4tietoja tiukasta tilasta.\n\n [https://forum.robotframework.org/t//4319|Kommentoi >>]\n ",
"sha256": "1a568a4505e02db5d49b211c40f43a2463c4e990af319aef5d38f20d804d89a6"
},
"scroll_to": {
"name": "vierit\u00e4_kohtaan",
"doc": "Vieritt\u00e4\u00e4 elementti\u00e4 tai sivua absoluuttiseen sijaintiin annettujen koordinaattien perusteella.\n\n | =Argumentit= | =Kuvaus= |\n | ``valitsin`` | Elementin valitsin. Jos valitsin on ``${None}`` tai ``${Empty}``, sivua vierit\u00e4\u00e4n. Varmistaaksesi, ett\u00e4 elementti on n\u00e4kyviss\u00e4, k\u00e4yt\u00e4 sen sijaan `Leijuta` -avainsanaa. Katso `Elementtien l\u00f6yt\u00e4minen` -osio lis\u00e4tietoja valitsimista. |\n | ``pystysuunta`` | m\u00e4\u00e4ritt\u00e4\u00e4, minne vieritet\u00e4\u00e4n pystysuunnassa. Se voi olla positiivinen luku, kuten ``300``. Se voi olla prosentuaalinen arvo absoluuttisesta vieritett\u00e4v\u00e4st\u00e4 koosta, kuten ``50%``. Se voi olla merkkijono, joka m\u00e4\u00e4rittelee vierityksen alueen yl\u00e4- tai alareunan. < ``top`` | ``bottom`` > _Ole tietoinen, ett\u00e4 jotkut sivut lataavat sis\u00e4lt\u00f6\u00e4 laiskasti ja lataavat lis\u00e4\u00e4 sis\u00e4lt\u00f6\u00e4, kun vierit\u00e4t alas p\u00e4in._ Bottom m\u00e4\u00e4rittelee nykyisen tunnetun alareunan koordinaatin. |\n | ``vaakasuunta`` | m\u00e4\u00e4ritt\u00e4\u00e4, minne vieritet\u00e4\u00e4n vaakasuunnassa. Toimii samalla tavalla kuin pystysuunta, mutta m\u00e4\u00e4rittelee < ``left`` | ``right`` > aloitus- ja lopetuspisteen. |\n | ``k\u00e4yt\u00f6s`` | m\u00e4\u00e4ritt\u00e4\u00e4, tapahtuuko vieritys suoraan vai sujuvasti. |\n\n Avainsana k\u00e4ytt\u00e4\u00e4 tiukkaa tilaa, katso `Elementtien l\u00f6yt\u00e4minen` lis\u00e4tietoja tiukasta tilasta.\n\n [https://forum.robotframework.org/t//4320|Kommentoi >>]\n ",
"sha256": "0d3acc28f04ebf4cb61bf17e68fd9e33e9b57527f791b0e2e29de52530f03d1a"
},
"scroll_to_element": {
"name": "vierit\u00e4_elementtiin",
"doc": "T\u00e4m\u00e4 metodi odottaa toimintakykytarkistuksia, ja yritt\u00e4\u00e4 sitten vieritt\u00e4\u00e4 elementin n\u00e4kyviin, ellei se ole t\u00e4ysin n\u00e4kyviss\u00e4.\n\n | =Argumentit= | =Kuvaus= |\n | ``valitsin`` | Valintaruudun valitsin. Katso `Elementtien l\u00f6yt\u00e4minen` -osio lis\u00e4tietoja valitsimista. |\n\n Avainsana k\u00e4ytt\u00e4\u00e4 tiukkaa tilaa, katso `Elementtien l\u00f6yt\u00e4minen` lis\u00e4tietoja tiukasta tilasta.\n\n Ei tee mit\u00e4\u00e4n, jos elementti on jo n\u00e4kyviss\u00e4.\n\n [https://forum.robotframework.org/t//4321|Kommentoi >>]\n ",
"sha256": "ad4bb92fba49a467b1d962e9a36cff9cfd0eb79ebc2e253a6596d37ac4211b1e"
},
"select_options_by": {
"name": "valitse_vaihtoehdot",
"doc": "Valitsee vaihtoehdot valitsimen elementist\u00e4, joka l\u00f6ytyy valitsimella ``selector``.\n\n | =Argumentit= | =Kuvaus= |\n | ``valitsin`` | ``<select>`` -tagin valitsimen valitsin. Katso `Elementtien l\u00f6yt\u00e4minen` -osio lis\u00e4tietoja valitsimista. |\n | ``attribuutti`` | Attribuutti, jonka perusteella vaihtoehdot valitaan. Voi olla ``arvo``, ``tunniste``, ``teksti`` tai ``indeksi``. Miss\u00e4 ``tunniste`` ja ``teksti`` ovat samoja. |\n | ``*arvot`` | Valitut arvot. |\n\n\n Palauttaa listan vaihtoehdoista, jotka avainsana pystyi valitsemaan. Listan kohteen tyyppi vastaa ``attribuutin`` m\u00e4\u00e4rityst\u00e4. Esimerkiksi jos ``attribuutti`` on `tunniste`, palautettu lista sis\u00e4lt\u00e4\u00e4 tunnisteiden arvot. Tai `indeksi`-tapauksessa se sis\u00e4lt\u00e4\u00e4 valittujen indeksien luettelon.\n\n Avainsana k\u00e4ytt\u00e4\u00e4 tiukkaa tilaa, katso `Elementtien l\u00f6yt\u00e4minen` lis\u00e4tietoja tiukasta tilasta.\n\n Jos mit\u00e4\u00e4n valittavia arvoja ei ole annettu, poistaa valitsimen vaihtoehdot.\n\n Esimerkki:\n | ${valitut} = `Valitse Vaihtoehdot` select[nimi=mieluiten_kanava] tunniste Suoramainonta\n | Lista Sis\u00e4lt\u00e4\u00e4 Arvon ${valitut} Suoramainonta\n | ${valitut} = `Valitse Vaihtoehdot` select[nimi=kiinnostuksen kohteet] arvo miehet naiset muut\n | Lista Sis\u00e4lt\u00e4\u00e4 Arvon ${valitut} miehet\n | Lista Sis\u00e4lt\u00e4\u00e4 Arvon ${valitut} naiset\n | Lista Sis\u00e4lt\u00e4\u00e4 Arvon ${valitut} muut\n | Pituus Pit\u00e4isi Olla ${valitut} 3\n | ${valitut} = `Valitse Vaihtoehdot` select[nimi=mahdolliset_kanavat] indeksi 0 2\n | Lista Sis\u00e4lt\u00e4\u00e4 Arvon ${valitut} 0\n | Lista Sis\u00e4lt\u00e4\u00e4 Arvon ${valitut} 2\n | ${valitut} = `Valitse Vaihtoehdot` select[nimi=kiinnostuksen kohteet] teksti Miehet Naiset\n | Lista Sis\u00e4lt\u00e4\u00e4 Arvon ${valitut} Miehet\n | Lista Sis\u00e4lt\u00e4\u00e4 Arvon ${valitut} Naiset\n\n [https://forum.robotframework.org/t//4322|Kommentoi >>]\n ",
"sha256": "ff9fe66ad6aa90fba1c2f60ce61263723a7c3ad3618076c768dfe84704b6a321"
},
"tap": {
"name": "napauta",
"doc": "Simuloi napautuksen elementtiin, joka löytyy ``valitsimella``.\n\n Vaatii, että `Uusi Konteksti` -toiminnon ``hasTouch``-vaihtoehto on asetettu todeksi.\n Tämä menetelmä napauttaa elementtiä seuraavien vaiheiden kautta:\n - Odota toimivuuden tarkistuksia elementille, ellei force-vaihtoehtoa ole asetettu.\n - Vieritä elementti näkyviin tarvittaessa.\n - Käytä page.touchscreen-toimintoa napauttaaksesi elementin keskikohtaa tai määritettyä sijaintia.\n - Odota, että aloitettu navigointi joko onnistuu tai epäonnistuu, ellei noWaitAfter-vaihtoehtoa ole asetettu.\n\n | =Argumentit= | =Kuvaus= |\n | ``valitsin`` | Valitsinelementti, johon napsautetaan. Katso lisätietoja valitsimista kohdasta `Elementtien löytäminen`. |\n | ``*modifiers`` | Modifikaattorinäppäimet painettavaksi. Varmistaa, että vain nämä modifikaattorit ovat painettuina napsautuksen aikana, ja palauttaa sitten nykyiset modifikaattorit takaisin. Jos ei määritetä, käytetään nykyisiä painettuja modifikaattoreita. Modifikaattorit voidaan määrittää missä tahansa järjestyksessä, ja useita modifikaattoreita voidaan määrittää. Kelvolliset modifikaattorinäppäimet ovat ``Control``, ``Alt``, ``Shift`` ja ``Meta``. |\n | ``force`` | Ohitetaanko toimivuuden tarkistukset. Oletuksena false. |\n | ``noWaitAfter`` | Vanhentunut. Tällä vaihtoehdolla ei ole vaikutusta. Toiminnot, jotka käynnistävät navigoinnit, odottavat navigoinnin tapahtuvan ja sivujen alkavan latautua. Voit estää odotuksen asettamalla tämän lipun. Tarvitset tätä vaihtoehtoa vain poikkeustapauksissa, kuten navigoidessasi pääsemättömiin sivuihin. Oletuksena ``False``. |\n | ``sijainti_x`` ``sijainti_y`` | Piste, johon napsautetaan suhteessa elementin vasempaan yläkulmaan. Vain positiiviset arvot elementin rajoissa ovat sallittuja. Jos sijaintia ei määritetä, napsautetaan elementin näkyvään kohtaan. |\n | ``koe`` | Kun tämä on asetettu, menetelmä suorittaa vain toimivuuden tarkastukset ja ohittaa toiminnon. Oletuksena ``False``. |\n\n Esimerkki:\n | Uusi Konteksti hasTouch=${False}\n | Uusi Sivu ${URL}\n | Napauta css=input#login_button\n\n [https://forum.robotframework.org/t//5939|Kommentti >>]\n ",
"sha256": "75cba70d2e20ae00f49e4eeb274e7a54f8bd17034d330f2cd06ac5b8ff06dcb3"
},
"type_secret": {
"name": "kirjoita_salainen",
"doc": "Kirjoittaa annetun salaisen muuttujan ``variable_name`` sis\u00e4ll\u00f6n tekstikentt\u00e4\u00e4n, joka l\u00f6ytyy valitsimella ``selector``.\n\n T\u00e4m\u00e4 avainsana ei kirjaa salaisuutta Robot Frameworkin lokitiedostoihin, jos avainsana ratkaisee muuttujan arvon sis\u00e4isesti. Jos ``enable_playwright_debug`` on k\u00e4yt\u00f6ss\u00e4 kirjaston tuonnissa, salaisuus n\u00e4kyy aina tekstimuodossa playwrightin vianm\u00e4\u00e4rityslokeissa riippumatta Robot Frameworkin lokitasosta.\n\n | =Argumentit= | =Kuvaus= |\n | ``selector`` | Tekstikent\u00e4n valitsin. Katso `Elementtien l\u00f6yt\u00e4minen` -osio lis\u00e4tietoja valitsimista. |\n | ``secret`` | Ymp\u00e4rist\u00f6muuttujan nimi % -etuliitteell\u00e4 tai paikallinen muuttuja $ -etuliitteell\u00e4, jolla on salainen tekstiarvo. Muuttujanimi\u00e4 voi k\u00e4ytt\u00e4\u00e4 sek\u00e4 aaltosulkeilla ett\u00e4 ilman. |\n | ``viive`` | Viive yksitt\u00e4isten n\u00e4pp\u00e4inpainallusten v\u00e4lill\u00e4. Se voi olla joko numero tai Robot Frameworkin aikamuoto. Aikamuodot on selitetty tarkemmin Robot Frameworkin k\u00e4ytt\u00f6oppaan liitteess\u00e4. Oletusarvo on ``0 ms``. Esimerkki: ``50 ms`` |\n | ``tyhjenn\u00e4`` | Aseta arvoksi false, jos kentt\u00e4\u00e4 ei tule tyhjent\u00e4\u00e4 ennen kirjoittamista. Oletusarvo on true. |\n\n T\u00e4m\u00e4 avainsana ei kirjaa salaisuutta Robot Frameworkin lokitiedostoihin, kun\n avainsana ratkaisee ``secret`` muuttujan sis\u00e4isesti.\n Kun ``secret`` -muuttujaan on lis\u00e4tty $ -etuliite ilman aaltosulkeita,\n kirjasto ratkaisee vastaavan Robot Framework -muuttujan.\n\n Jos ``secret`` -muuttujaan on lis\u00e4tty % -etuliite, kirjasto ratkaisee\n vastaavan ymp\u00e4rist\u00f6muuttujan. Esimerkiksi `$Password` ratkaisee\n muuttujan ``${Password}`` Robot Frameworkissa.\n My\u00f6s ``%ENV_PWD`` ratkaisee ymp\u00e4rist\u00f6muuttujan ``%{ENV_PWD}``.\n\n *Normaalien Robot Framework -muuttujien kuten ``${password}`` k\u00e4ytt\u00f6 ei toimi!*\n\n *Normaali tekstimuoto ei toimi.*\n Jos haluat k\u00e4ytt\u00e4\u00e4 tavallista teksti\u00e4, k\u00e4yt\u00e4 sen sijaan `Kirjoita teksti` -avainsanaa.\n\n T\u00e4m\u00e4 avainsana toimii my\u00f6s annetun salakirjoitetun tekstin kanssa,\n joka on salattu Crypto-kirjastolla.\n Katso lis\u00e4tietoja osoitteesta [https://github.com/Snooz82/robotframework-crypto | Crypto Library].\n\n Avainsana k\u00e4ytt\u00e4\u00e4 tiukkaa moodia, katso `Elementtien l\u00f6yt\u00e4minen` lis\u00e4tietoja tiukasta moodista.\n\n Katso `Kirjoita teksti` yksityiskohtia varten.\n\n Esimerkki\n | `Kirjoita salainen` input#k\u00e4ytt\u00e4j\u00e4nimi_kentt\u00e4 $k\u00e4ytt\u00e4j\u00e4nimi # Avainsana ratkaisee ${k\u00e4ytt\u00e4j\u00e4nimi} muuttujan arvon Robot Frameworkin muuttujista\n | `Kirjoita salainen` input#k\u00e4ytt\u00e4j\u00e4nimi_kentt\u00e4 %k\u00e4ytt\u00e4j\u00e4nimi # Avainsana ratkaisee $K\u00c4YTT\u00c4J\u00c4NIMI/%K\u00c4YTT\u00c4J\u00c4NIMI% muuttujan arvon ymp\u00e4rist\u00f6muuttujista\n | `Kirjoita salainen` input#k\u00e4ytt\u00e4j\u00e4nimi_kentt\u00e4 ${k\u00e4ytt\u00e4j\u00e4nimi} # Robot Framework ratkaisee muuttujan arvon, mutta salaisuus voi vuotaa Robot Frameworkin tuotostiedostoihin.\n\n [https://forum.robotframework.org/t//4338|Kommentoi >>]\n ",
"sha256": "3027fd39b95b5a1cf99d3fb8254abc9a53fa7e47d71e64e241619ed00cfc3527"
},
"type_text": {
"name": "kirjoita_teksti",
"doc": "Kirjoittaa annetun ``txt`` -tekstin tekstikentt\u00e4\u00e4n, joka l\u00f6ytyy valitsimella ``selector``.\n\n L\u00e4hett\u00e4\u00e4 ``keydown``, ``keypress/input`` ja ``keyup`` tapahtumat jokaiselle\n merkille tekstill\u00e4.\n\n | =Argumentit= | =Kuvaus= |\n | ``selector`` | Tekstikent\u00e4n valitsin. Katso `Elementtien l\u00f6yt\u00e4minen` -osio lis\u00e4tietoja valitsimista. |\n | ``txt`` | Teksti tekstikentt\u00e4\u00e4 varten. |\n | ``viive`` | Viive yksitt\u00e4isten n\u00e4pp\u00e4inpainallusten v\u00e4lill\u00e4. Se voi olla joko numero tai Robot Frameworkin aikamuoto. Aikamuodot on selitetty tarkemmin Robot Frameworkin k\u00e4ytt\u00f6oppaan liitteess\u00e4. Oletusarvo on ``0 ms``. Esimerkki: ``50 ms`` |\n | ``tyhjenn\u00e4`` | Aseta arvoksi false, jos kentt\u00e4\u00e4 ei tule tyhjent\u00e4\u00e4 ennen kirjoittamista. Oletusarvo on true. |\n\n Avainsana k\u00e4ytt\u00e4\u00e4 tiukkaa moodia, katso `Elementtien l\u00f6yt\u00e4minen` lis\u00e4tietoja tiukasta moodista.\n\n Katso `T\u00e4yt\u00e4 teksti` suoraan t\u00e4ytt\u00e4miseen kerralla koko tekstill\u00e4.\n\n Esimerkki\n | `Kirjoita teksti` input#k\u00e4ytt\u00e4j\u00e4nimi_kentt\u00e4 k\u00e4ytt\u00e4j\u00e4\n | `Kirjoita teksti` input#k\u00e4ytt\u00e4j\u00e4nimi_kentt\u00e4 k\u00e4ytt\u00e4j\u00e4 viive=10 ms tyhjenn\u00e4=Ei\n\n [https://forum.robotframework.org/t//4339|Kommentoi >>]\n ",
"sha256": "8994bb61bda726783949d2a14a7a95b4106a054c319ff6948c9bfbf3d0bb8af1"
},
"uncheck_checkbox": {
"name": "poista_valintaruutu",
"doc": "Poistaa valintaruudun, joka l\u00f6ytyy valitsimella ``selector``.\n\n | =Argumentit= | =Kuvaus= |\n | ``selector`` | Valintaruudun valitsin. Katso `Elementtien l\u00f6yt\u00e4minen` -osio lis\u00e4tietoja valitsimista. |\n | ``pakota`` | Aseta arvoksi True ohittaaksesi Playwrightin [https://playwright.dev/docs/actionability | Toimintavalmius-tarkistukset]. |\n\n Avainsana k\u00e4ytt\u00e4\u00e4 tiukkaa moodia, katso `Elementtien l\u00f6yt\u00e4minen` lis\u00e4tietoja tiukasta moodista.\n\n Ei tee mit\u00e4\u00e4n, jos elementti\u00e4 ei ole valittu.\n\n [https://forum.robotframework.org/t//4340|Kommentoi >>]\n ",
"sha256": "2948564d17a7f6a85eb4478022996bbd5e5b8e854dcab3dbe51444dbf00b3407"
},
"upload_file_by_selector": {
"name": "lataa_tiedosto_valitsimella",
"doc": "Lataa tiedoston `polusta` valitsimella l\u00f6ydettyyn tiedostonsy\u00f6tt\u00f6kentt\u00e4\u00e4n.\n\n Ep\u00e4onnistuu, jos latausta ei ole suoritettu ennen kirjaston aikakatkaisua.\n Siksi aikakatkaisua voi olla tarpeen lis\u00e4t\u00e4 k\u00e4ytt\u00e4m\u00e4ll\u00e4 `Aseta selaimen aikakatkaisu` -avainsanaa.\n\n | =Argumentit= | =Kuvaus= |\n | ``valitsin`` | M\u00e4\u00e4ritt\u00e4\u00e4 tiedostonsy\u00f6tt\u00f6kent\u00e4n. |\n | ``polku`` | Tiedoston polku, joka halutaan ladata. |\n\n Esimerkki:\n | `Lataa tiedosto valitsimella` //input[@type='file'] iso_tiedosto.zip\n\n [https://forum.robotframework.org/t//4341|Kommentoi >>]\n ",
"sha256": "7fced1e21863daad1939a4c5aa80f0ab0b8183bd24b722fc0a61e7234a61641f"
},
"wait_for_alert": {
"name": "odota_h\u00e4lytyst\u00e4",
"doc": "Palauttaa lupauksen odottaa seuraavaa valintaikkunaa sivulla, k\u00e4sittelee sen toiminnolla ``toiminto`` ja valinnaisesti varmentaa valintaikkunan tekstin.\n\n Valintaikkuna/h\u00e4lytys voi olla mik\u00e4 tahansa seuraavista: h\u00e4lytys, ennenpoistuminen, vahvistus tai kysely.\n\n | =Argumentit= | =Kuvaus= |\n | ``toiminto`` | Miten k\u00e4sitell\u00e4 h\u00e4lytyst\u00e4. Voi olla ``hyv\u00e4ksy`` tai ``hylk\u00e4\u00e4``. |\n | ``kyselysy\u00f6te`` | Arvo, joka sy\u00f6tet\u00e4\u00e4n kyselyyn. K\u00e4ytet\u00e4\u00e4n vain, jos ``toiminto``-argumentti on ``hyv\u00e4ksy``. Oletusarvo on tyhj\u00e4 merkkijono. |\n | ``teksti`` | Valinnainen teksti, jolla varmennetaan valintaikkunan teksti. |\n | ``aikakatkaisu`` | Valinnainen aikakatkaisu Robot Frameworkin aikamuodossa. |\n\n\n P\u00e4\u00e4asiallinen ero t\u00e4m\u00e4n avainsanan ja `K\u00e4sittele tulevia valintaikkunoita`-avainsanan v\u00e4lill\u00e4 on, ett\u00e4 `K\u00e4sittele tulevia valintaikkunoita`-avainsana on automaattisesti lupaus. Mutta t\u00e4t\u00e4 avainsanaa on kutsuttava argumenttina `Lupaus`-avainsanalle. Lis\u00e4ksi t\u00e4m\u00e4 avainsana voi valinnaisesti varmentaa valintaikkunan tekstin ja palauttaa sen. Jos ``teksti`` on argumentti ``None`` tai sit\u00e4 ei ole m\u00e4\u00e4ritetty, valintaikkunan teksti\u00e4 ei varmenneta.\n\n Esimerkki tekstin palauttamisesta:\n\n | ${lupaus} = `Lupaus` `Odota h\u00e4lytyst\u00e4` toiminto=hyv\u00e4ksy\n | `Klikkaa` id=h\u00e4lytykset\n | ${teksti} = `Odota` ${lupaus}\n | Pit\u00e4isi olla yht\u00e4 suuri ${teksti} Olen h\u00e4lytys\n\n Esimerkki tekstin varmentamisesta:\n\n | ${lupaus} = Lupaus To Wait For Alert toiminto=hyv\u00e4ksy teksti=Olen h\u00e4lytys\n | Klikkaa id=h\u00e4lytykset\n | ${teksti} = Odota ${lupaus}\n\n [https://forum.robotframework.org/t//4343|Kommentoi >>]\n ",
"sha256": "ed764abc658cfe0357b6b8b39e6fb6e8e579055e4cf37fa755324611f6c5d073"
},
"wait_for_alerts": {
"name": "odota_hälytyksiä",
"doc": "Palauttaa lupauksen odottaa useita dialogeja sivulla.\n\n Käsittelee jokaisen hälytyksen/dialogin ``toiminnoilla`` ja halutessasi vahvistaa dialogien tekstit.\n Dialogi/hälytys voi olla mikä tahansa: hälytys, ennen poistumista -ilmoitus, vahvistus tai kehotus.\n\n | =Argumentit= | =Kuvaus= |\n | ``toiminnot`` | Lista siitä, miten hälytykset käsitellään. Voi olla ``hyväksy`` tai ``hylkää``. |\n | ``kehotteen_syötteet`` | Lista arvoista, jotka syötetään kehotukseen. Voimassa vain, jos ``toiminto``-argumentti on ``hyväksy``. Oletuksena tyhjä merkkijono. Jos syötettä ei ole asetettu, käytä None. |\n | ``tekstit`` | Lista valinnaisista teksteistä, joilla varmistetaan dialogien tekstit. Käytä None, jos tekstin vahvistus tulee poistaa käytöstä. |\n | ``aikakatkaisu`` | Valinnainen aikakatkaisu Robot Frameworkin aikamuodossa. |\n\n ``toiminnot``, ``kehotteen_syötteet`` ja ``tekstit`` -listoissa on oltava yhtä monta kohtaa.\n Käytä None, jos tekstejä ja/tai kehotteen syötteitä ei tarvita.\n\n Tämä avainsana toimii samalla tavalla kuin `Wait For Alert`, mutta se voi käsitellä useita hälytyksiä yhdellä lupauksella. Kuten `Wait For Alert` -avainsana, tämä avainsana on kutsuttava ``Promise To`` -avainsanan argumenttina.\n\n Esimerkki kahden hälytyksen käsittelystä, ensimmäinen hyväksytään ja toinen hylätään:\n\n | ${lupaus} = Promise To\n | ... Wait For Alerts\n | ... [\"hyväksy\", \"hylkää\"]\n | ... [None, None]\n | ... [None, None]\n | Napsauta id=alerts\n | ${tekstit} = Odota ${lupaus}\n\n Esimerkki vahvistus- ja kehotushälytyksen käsittelystä. Oletus on, että ensimmäinen on vahvistus ja toinen on kehotus:\n\n | ${lupaus} = Promise To\n | ... Wait For Alerts\n | ... [\"hylkää\", \"hyväksy\"]\n | ... [None, \"Olen kehotus\"]\n | ... [\"Ensimmäinen hälytys hyväksytty?\", None]\n | Napsauta id=confirmAndPrompt\n | ${tekstit} = Odota ${lupaus}\n\n [https://forum.robotframework.org/t/7887|Kommentti >>]\n ",
"sha256": "76d0a8c533c18300e40477bdcefd4b87488925dc9c09aca13d38da2648a3b986"
},
"get_attribute": {
"name": "hae_attribuutti",
"doc": "Palauttaa elementin, joka on l\u00f6ydetty valitsimella ``valitsin``, HTML-``attribuutin``.\n\n | =Argumentit= | =Kuvaus= |\n | ``valitsin`` | Valitsin, jonka tiedot halutaan noutaa. Katso osiosta `Elementtien etsiminen` tarkemmat tiedot valitsimista. |\n | ``attribuutti`` | Pyydetty attribuutin nimi. |\n | ``assertion_operator`` | Katso `V\u00e4itt\u00e4m\u00e4t` lis\u00e4tietoja varten. Oletusarvo on None. |\n | ``assertion_expected`` | Odotettu arvo tilalle |\n | ``viesti`` | korvaa oletusvirhesanoman v\u00e4itt\u00e4m\u00e4lle. |\n\n Avainsana k\u00e4ytt\u00e4\u00e4 tiukkaa tilaa, katso `Elementtien etsiminen` lis\u00e4tietoja tiukasta tilasta.\n\n Valinnaisesti v\u00e4itt\u00e4\u00e4, ett\u00e4 attribuutin arvo vastaa odotettua arvoa. Katso\n `V\u00e4itt\u00e4m\u00e4t` lis\u00e4tietoja varten v\u00e4itt\u00e4m\u00e4argumenteista. Oletuksena v\u00e4itt\u00e4m\u00e4\u00e4\n ei tehd\u00e4.\n\n Kun valitaan attribuutti, jota ei ole l\u00e4sn\u00e4, eik\u00e4 v\u00e4itt\u00e4m\u00e4operaattoria ole asetettu,\n avainsana ep\u00e4onnistuu. Jos v\u00e4itt\u00e4m\u00e4operaattori on asetettu ja attribuuttia ei ole,\n palautettu arvo on ``None``. T\u00e4t\u00e4 voidaan k\u00e4ytt\u00e4\u00e4 v\u00e4itt\u00e4m\u00e4\u00e4n attribuutin l\u00e4sn\u00e4oloa\n tai puuttumista.\n\n Esimerkki-elementti:\n | <button class=\"login button active\" id=\"enabled_button\" something>Login</button>\n\n Esimerkkikoodi:\n | `Hae Attribuutti` id=enabled_button disabled # EP\u00c4ONNISTUU => \"Attribuuttia 'disabled' ei l\u00f6ytynyt!\"\n | `Hae Attribuutti` id=enabled_button disabled == ${None} # ONNISTUU => palauttaa: None\n | `Hae Attribuutti` id=enabled_button something evaluate value is not None # ONNISTUU => palauttaa: True\n | `Hae Attribuutti` id=enabled_button disabled evaluate value is None # ONNISTUU => palauttaa: True\n\n [https://forum.robotframework.org/t//4256|Kommentoi >>]\n ",
"sha256": "8a69af16e160e387889cc900d92110f5c7b33ca56a410e135a92f3b813846e27"
},
"get_attribute_names": {
"name": "hae_attribuutin_nimet",
"doc": "Palauttaa elementin kaikki HTML-attribuuttinimet listana.\n\n\n | =Argumentit= | =Kuvaus= |\n | ``valitsin`` | Valitsin, jonka tiedot halutaan noutaa. Katso osiosta `Elementtien etsiminen` tarkemmat tiedot valitsimista. |\n | ``assertion_operator`` | Katso `V\u00e4itt\u00e4m\u00e4t` lis\u00e4tietoja varten. Oletusarvo on None. |\n | ``*assertion_expected`` | Odotettu arvo tilalle |\n | ``viesti`` | korvaa oletusvirhesanoman v\u00e4itt\u00e4m\u00e4lle. |\n\n Avainsana k\u00e4ytt\u00e4\u00e4 tiukkaa tilaa, katso `Elementtien etsiminen` lis\u00e4tietoja tiukasta tilasta.\n\n Valinnaisesti v\u00e4itt\u00e4\u00e4, ett\u00e4 attribuuttinimet vastaavat odotettua arvoa. Katso\n `V\u00e4itt\u00e4m\u00e4t` lis\u00e4tietoja varten v\u00e4itt\u00e4m\u00e4argumenteista. Oletuksena v\u00e4itt\u00e4m\u00e4\u00e4\n ei tehd\u00e4.\n\n Saatavilla olevat v\u00e4itt\u00e4m\u00e4t:\n - ``==`` , ``!=`` ja ``contains`` / ``*=`` voivat toimia useiden arvojen kanssa\n - ``validate`` ja ``evaluate`` hyv\u00e4ksyv\u00e4t vain yhden yksitt\u00e4isen odotetun arvon\n\n Muut operaattorit eiv\u00e4t ole sallittuja.\n\n Esimerkki:\n | `Hae Attribuutin Nimet` [name=\"readonly_input\"] == type name value readonly # Sis\u00e4lt\u00e4\u00e4 t\u00e4sm\u00e4lleen n\u00e4m\u00e4 attribuuttinimet.\n | `Hae Attribuutin Nimet` [name=\"readonly_input\"] contains disabled # Sis\u00e4lt\u00e4\u00e4 ainakin t\u00e4m\u00e4n attribuutinimen.\n\n [https://forum.robotframework.org/t//4257|Kommentoi >>]\n ",
"sha256": "633da84327a9f155ea2337a2d2cb6547fb42779270238d4a882106c366d8b9e4"
},
"get_boundingbox": {
"name": "hae_rajaava_laatikko",
"doc": "Hakee elementin koon ja sijainnin objektina ``{x: float, y: float, leveys: float, korkeus: float}``.\n\n Vaihtoehtoisesti voit valita yhden rajauslaatikon ominaisuuden asettamalla ``avain``-argumentin.\n\n Jos elementti on piilotettu eikä sillä ole rajauslaatikkoa, avainsana epäonnistuu.\n Riippuen menetelmästä, jolla elementti on tehty näkymättömäksi, elementillä voi silti olla rajauslaatikko, joka voidaan noutaa.\n Sallimalla myös piilotetut elementit, joilla ei ole rajauslaatikkoa, aseta ``allow_hidden`` arvoon ``True``,\n mikä johtaa arvon palauttamiseen `None`, jos rajauslaatikkoa ei ole.\n\n | =Argumentit= | =Kuvaus= |\n | ``valitsin`` | Valitsin, josta tiedot noudetaan. Katso tarkemmat tiedot valitsimista osiosta `Finding elements`. |\n | ``avain`` | Vaihtoehtoisesti suodattaa palautetut arvot. Jos avain on asetettu ``ALL`` (oletus), se palauttaa BoundingBoxin sanakirjana, muuten se palauttaa vain valitun yksittäisen arvon avaimen mukaan. Huomautus: Jos yksittäinen arvo noudetaan, väite ei *tarvitse* ``validate``-yhdistelmää ``arvon`` muunnoksen kanssa. |\n | ``väiteoperaattori`` | Katso lisää `Väitteet`-osiosta. Oletuksena None. |\n | ``väiteodotus`` | Odotettu arvo laskemiselle. |\n | ``viesti`` | Ylikirjoittaa oletusvirheviestin väitettä varten. |\n | ``allow_hidden`` | (vain nimetty) Jos True, piilotetut elementit eivät aiheuta epäonnistumista ja palauttavat `None`. Muuten piilotettu elementti epäonnistuu. Oletuksena False. |\n\n Avainsana käyttää tiukkaa tilaa, katso tarkemmat tiedot tiukasta tilasta osiosta `Finding elements`.\n\n Vaihtoehtoisesti varmistaa, että arvo vastaa määritettyä väitettä. Katso `Väitteet`-osiosta tarkempia tietoja väiteargumenteista. Oletuksena väitettä ei tehdä.\n\n Käyttöesimerkki:\n | ${rajauslaatikko}= `Get BoundingBox` id=element # suodattamaton\n | Kirjaa ${rajauslaatikko} # {'x': 559.09375, 'y': 75.5, 'leveys': 188.796875, 'korkeus': 18}\n | ${x}= `Get BoundingBox` id=element x # suodatettu\n | Kirjaa X: ${x} # X: 559.09375\n | # Väitteet:\n | `Get BoundingBox` id=element leveys > 180\n | `Get BoundingBox` id=element ALL validate value['x'] > value['y']*2\n\n [https://forum.robotframework.org/t//4258|Kommentti >>]\n ",
"sha256": "d6fb299e82f48af3fe9268b223ef470c5a66056af441b724da2aadc2aa39224a"
},
"get_checkbox_state": {
"name": "hae_valintaruudun_tila",
"doc": "Palauttaa valintaruudun tilan, joka l\u00f6ytyy valitsimella ``valitsin``.\n\n\n Valinnaisesti v\u00e4itt\u00e4\u00e4, ett\u00e4 tila vastaa m\u00e4\u00e4ritelty\u00e4 v\u00e4itt\u00e4m\u00e4\u00e4. Katso\n `V\u00e4itt\u00e4m\u00e4t` lis\u00e4tietoja varten v\u00e4itt\u00e4m\u00e4argumenteista. Oletuksena v\u00e4itt\u00e4m\u00e4\u00e4\n ei tehd\u00e4.\n\n | =Argumentit= | =Kuvaus= |\n | ``valitsin`` | Valitsin, jota tarkastellaan. Katso osiosta `Elementtien etsiminen` tarkemmat tiedot valitsimista. |\n | ``assertion_operator`` | ``==`` ja ``!=`` ja vastaavat ovat sallittuja boolean-arvoille. Muut operaattorit eiv\u00e4t ole sallittuja. |\n | ``assertion_expected`` | Odotettu tilan boolean-arvo. Merkkijonot tulkitaan boolean-arvoiksi. Kaikki merkkijonot ovat ``${True}`` paitsi seuraavat: `FALSE, NO, OFF, 0, UNCHECKED, NONE, ${EMPTY}`` (kirjoitusasusta riippumatta). Oletusarvo on valitsematon. |\n | ``viesti`` | korvaa oletusvirhesanoman v\u00e4itt\u00e4m\u00e4lle. |\n\n - ``valittu`` => ``True``\n - ``valitsematon`` => ``False``\n\n Avainsana k\u00e4ytt\u00e4\u00e4 tiukkaa tilaa, katso `Elementtien etsiminen` lis\u00e4tietoja tiukasta tilasta.\n\n Esimerkki:\n | `Hae Valintaruudun Tila` [name=can_send_email] == valittu\n\n [https://forum.robotframework.org/t//4261|Kommentoi >>]\n ",
"sha256": "0ca1152257da48e0929cbae67885e25882fb80b0d4d42090bbf18a6671ee57ca"
},
"get_classes": {
"name": "hae_luokat",
"doc": "Palauttaa elementin kaikki luokat listana.\n\n\n | =Argumentit= | =Kuvaus= |\n | ``valitsin`` | Valitsin, jonka tiedot haetaan. Katso osiosta `Elementtien etsiminen` lis\u00e4tietoja valitsimista. |\n | ``v\u00e4itt\u00e4m\u00e4operaattori`` | Katso `V\u00e4itt\u00e4m\u00e4t` lis\u00e4tietoja varten. Oletusarvo on None. |\n | ``*v\u00e4itt\u00e4m\u00e4odotettu`` | Odotetut arvot tilalle |\n | ``viesti`` | korvaa oletusvirhesanoman v\u00e4itt\u00e4m\u00e4lle. |\n\n Avainsana k\u00e4ytt\u00e4\u00e4 tiukkaa tilaa, katso `Elementtien etsiminen` lis\u00e4tietoja tiukasta tilasta.\n\n Valinnaisesti v\u00e4itt\u00e4\u00e4, ett\u00e4 arvo vastaa m\u00e4\u00e4ritelty\u00e4 v\u00e4itt\u00e4m\u00e4\u00e4. Katso\n `V\u00e4itt\u00e4m\u00e4t` lis\u00e4tietoja varten v\u00e4itt\u00e4m\u00e4argumenteista. Oletuksena v\u00e4itt\u00e4m\u00e4\u00e4\n ei tehd\u00e4.\n\n Saatavilla olevat v\u00e4itt\u00e4m\u00e4t:\n - ``==`` , ``!=`` ja ``contains`` / ``*=`` voi toimia useiden arvojen kanssa\n - ``validate`` ja ``evaluate`` hyv\u00e4ksyv\u00e4t vain yhden yksitt\u00e4isen odotetun arvon\n\n Muita operaattoreita ei sallita.\n\n Esimerkki:\n | `Hae Luokat` id=vedett\u00e4v\u00e4 == react-vedett\u00e4v\u00e4 laatikko # Elementti sis\u00e4lt\u00e4\u00e4 t\u00e4sm\u00e4lleen t\u00e4m\u00e4n luokkanimen.\n | `Hae Luokat` id=vedett\u00e4v\u00e4 validate \"react-vedett\u00e4v\u00e4-vedetty\" not in value # Elementti ei sis\u00e4ll\u00e4 react-vedett\u00e4v\u00e4-vedetty-luokkaa.\n\n [https://forum.robotframework.org/t//4262|Kommentoi >>]\n ",
"sha256": "bfb654e4ada22f2e83553995e3a02af47e93a5e9e920a58a85bd7f15ff6385c2"
},
"get_client_size": {
"name": "saada_asiakkaan_koko",
"doc": "Saa elementtien tai sivujen asiakaskoon ( clientHeight, clientWidth) objektina {leveys: float, korkeus: float}.\n\n\n| = Argumentit = | = Kuvaus = |\n| valitsin | Vaihtoehtoinen valitsin, josta on haettava. Jos valitsinta ei anneta, k\u00e4ytet\u00e4\u00e4n sivun asiakaskokoa itse ( document.scrollingElement). Katso Elementtien etsiminen -osio lis\u00e4tietoja valitsimista. |\n| avain | Suodattaa palautetut arvot valinnaisesti. Jos avaimet on asetettu ALL (oletusarvo), se palauttaa vierityskoon sanakirjana, muuten se palauttaa vain valitun arvon avaimen mukaan. |\n| assertion_operator | Katso V\u00e4itteet lis\u00e4tietoja varten. Oletusarvo on Ei mit\u00e4\u00e4n. |\n| assertion_expected | Odotettu arvo laskennalle |\n| viesti | korvaa v\u00e4itt\u00e4m\u00e4n oletusvirhesanoman. |\n\nAvainsana k\u00e4ytt\u00e4\u00e4 tiukkaa tilaa, katso Elementtien etsiminen lis\u00e4tietoja tiukasta tilasta.\n\nValinnaisesti v\u00e4itt\u00e4\u00e4, ett\u00e4 arvo vastaa m\u00e4\u00e4ritetty\u00e4 v\u00e4itett\u00e4. Katso\nV\u00e4itteet lis\u00e4tietoja v\u00e4itt\u00e4mien argumenteista. Oletuksena v\u00e4itt\u00e4minen\nei tapahdu.\n\nKatso Hanki rajoittava laatikko tai Hanki vierityskoko esimerkkej\u00e4 varten.\n\n[https://forum.robotframework.org/t//4263|Kommentti >>]\n",
"sha256": "d2c872b7625f8d83024305b6e61d08fcd1c004e7d5fb9f34c6d005c67a1fb7d1"
},
"get_download_state": {
"name": "hae_latauksen_tila",
"doc": "Saa latauksen tilan.\n\n Palauttaa sanakirjan tyypist\u00e4 `DownloadInfo` seuraavilla avaimilla:\n | {\n | saveAs: str\n | suggestedFilename: str\n | state: str\n | downloadID: Vaihtoehtoinen[str]\n | }\n\n | =Argumentit= | =Kuvaus= |\n | ``lataus`` | `DownloadInfo`-sanakirja, joka palautetaan `Lupaus odottaa latausta` tai lataustunniste merkkijonona. |\n | ``v\u00e4itt\u00e4m\u00e4_operaattori`` | Katso `V\u00e4itteet` lis\u00e4tietoja varten. Oletusarvo on Ei mit\u00e4\u00e4n. |\n | ``v\u00e4itt\u00e4m\u00e4_odotettu`` | Latauksen odotettu tila. Huomaa, ett\u00e4 palautettu arvo on sanakirja |\n | ``viesti`` | korvaa v\u00e4itteen oletusvirhesanoman. |\n\n [https://forum.robotframework.org/t//6479|Kommentti >>]\n ",
"sha256": "16b0ed004bd4e5927a81baa44fa2d150b18f46042d6e584e8fe5a2c18aa6b3e8"
},
"get_element": {
"name": "hae_elementti",
"doc": "Palauttaa viittauksen Playwrightin [https://playwright.dev/docs/api/class-locator|Locator]-objektiin.\n\n Viittausta voidaan k\u00e4ytt\u00e4\u00e4 my\u00f6hemmiss\u00e4 valitsimissa.\n\n\n | =Argumentit= | =Kuvaus= |\n | ``valitsin`` | Valitsin, josta on haettava . Katso `Elementtien etsiminen` -osio lis\u00e4tietoja valitsimista. |\n\n Avainsana k\u00e4ytt\u00e4\u00e4 tiukkaa tilaa, katso `Elementtien etsiminen` lis\u00e4tietoja tiukasta tilasta.\n\n Esimerkki:\n | ${elementti} = `Hae elementti` \\#k\u00e4ytt\u00e4j\u00e4tunnuskentt\u00e4\n | ${valinta_arvo} = `Hae ominaisuus` ${elementti} >> vaihtoehtoYksi arvo # Valitsin ratkaistaan sivulta.\n | ${valinta_arvo} = `Hae ominaisuus` ${elementti} >> vaihtoehtoKaksi arvo # Valitsin ratkaistaan uudelleen sivulta.\n\n [https://forum.robotframework.org/t//4269|Kommentti >>]\n ",
"sha256": "3463315fd79006307dca578f86d1b61d8f03fc19903a316d53de2649ffbde24e"
},
"get_element_by": {
"name": "hae_elementti_avulla",
"doc": "Mahdollistaa elementtien paikantamisen niiden ominaisuuksien perusteella.\n\n Valintastrategioita voi olla useita Playwright-strategioita, kuten AltText tai Label.\n Katso lis\u00e4tietoja [https://playwright.dev/docs/locators|Playwright Locators] -sivulta.\n\n | =Argumentit= | =Kuvaus= |\n | ``paikannusstrategia`` | K\u00e4ytett\u00e4v\u00e4 SelectionStrategy. Viittaa Playwrightin ``page.getBy***`` -toimintoihin. Katso https://playwright.dev/docs/locators |\n | ``teksti`` | Teksti, jonka perusteella elementti paikannetaan. |\n | ``tarkka`` | M\u00e4\u00e4ritt\u00e4\u00e4k\u00f6 etsitt\u00e4v\u00e4n tarkan osuman: isot ja pienet kirjaimet huomioiden koko merkkijono. Oletusarvo on ep\u00e4tosi. Sit\u00e4 ei huomioida, kun etsit\u00e4\u00e4n s\u00e4\u00e4nn\u00f6llisell\u00e4 lausekkeella. Huomaa, ett\u00e4 tarkka osuma poistaa v\u00e4lily\u00f6nnit. T\u00e4ll\u00e4 ei ole vaikutusta, jos k\u00e4ytet\u00e4\u00e4n RegExpia tai jos TestID:a k\u00e4ytet\u00e4\u00e4n strategiana. |\n | ``kaikki_elementit`` | Jos tosi, palauttaa kaikki sopivat elementit listana. |\n\n T\u00e4m\u00e4 avainsana toteuttaa seuraavat Playwright-toiminnot:\n - [https://playwright.dev/docs/api/class-page#page-get-by-alt-text|page.getByAltText]\n - [https://playwright.dev/docs/api/class-page#page-get-by-label|page.getByLabel]\n - [https://playwright.dev/docs/api/class-page#page-get-by-placeholder|page.getByPlaceholder]\n - [https://playwright.dev/docs/api/class-page#page-get-by-test-id|page.getByTestId]\n - [https://playwright.dev/docs/api/class-page#page-get-by-text|page.getByText]\n - [https://playwright.dev/docs/api/class-page#page-get-by-title|page.getByTitle]\n\n ``page.getByRole`` tukee `Hae elementti roolin mukaan`-avainsanaa.\n\n Jos elementti on haettava iframe:sta, valitsimen etuliite on m\u00e4\u00e4ritett\u00e4v\u00e4 k\u00e4ytt\u00e4en `Aseta valitsimen etuliite`-avainsanaa, joka sis\u00e4lt\u00e4\u00e4 ``>>>`` lopetuksena.\n\n [https://forum.robotframework.org/t//5937|Kommentti >>]\n ",
"sha256": "83d5ab631b1aecacd4def54b80ad2ae04ac344c67c5cf66abd17bf712f8a4e27"
},
"get_element_by_role": {
"name": "hae_elementti_roolilla",
"doc": "Palauttaa viittauksen Playwrightin [https://playwright.dev/docs/api/class-locator|Locator]-objektiin\n sopivasta elementist\u00e4 ``rooli`` mukaan tai luettelon viittauksista, jos ``kaikki_elementit`` on asetettu ``Tosi``.\n\n Mahdollistaa elementtien paikantamisen niiden [https://www.w3.org/TR/wai-aria-1.2/#roles|ARIA-roolin],\n [https://www.w3.org/TR/wai-aria-1.2/#aria-attributes|ARIA-attribuuttien] ja\n [https://w3c.github.io/accname/#dfn-accessible-name|saavutettavan nimen] perusteella.\n\n\n Harkitse seuraavaa DOM-rakennetta.\n\n | <h3>Rekister\u00f6idy</h3>\n | <label>\n | <input type=\"checkbox\" /> Tilaa\n | </label>\n | <br/>\n | <button>L\u00e4het\u00e4</button>\n\n Voit paikantaa jokaisen elementin sen implisiittisen roolin perusteella:\n | ${otsikko} Hae elementti roolin mukaan otsikko nimi=Rekister\u00f6idy\n | ${valintaruutu} Hae elementti roolin mukaan valintaruutu nimi=Tilaa\n | ${painike} Hae elementti roolin mukaan painike nimi=/l\u00e4het\u00e4/i\n\n | =Argumentit= | =Kuvaus= |\n | ``kaikki_elementit`` | Jos tosi, palauttaa kaikki sopivat elementit listana. |\n | ``rooli`` | Rooli, josta on haettava. |\n | ``valittu`` | Attribuutti, joka on yleens\u00e4 asetettu aria-checked tai native <input type=checkbox> -ohjaimilla. |\n | ``pois_p\u00e4\u00e4lt\u00e4`` | Attribuutti, joka on yleens\u00e4 asetettu aria-disabled tai disabled. |\n | ``tarkka`` | M\u00e4\u00e4ritt\u00e4\u00e4k\u00f6 nimi t\u00e4sm\u00e4lleen: isot ja pienet kirjaimet huomioiden koko merkkijono. Oletusarvo on ep\u00e4tosi. Sit\u00e4 ei huomioida, kun nimi on s\u00e4\u00e4nn\u00f6llinen lauseke. Huomaa, ett\u00e4 tarkka osuma poistaa v\u00e4lily\u00f6nnit. |\n | ``laajennettu`` | Attribuutti, joka on yleens\u00e4 asetettu aria-expanded. |\n | ``sis\u00e4llyt\u00e4_piilotetut`` | Vaihtoehto, joka ohjaa, vastaavatko piilotetut elementit. Oletuksena vain ARIA:n m\u00e4\u00e4rittelem\u00e4tt\u00f6m\u00e4t piilotetut elementit vastaavat roolivalitsintaan. |\n | ``taso`` | Numeroattribuutti, joka on yleens\u00e4 l\u00e4sn\u00e4 rooleissa otsikko, listaelementti, rivi, puun alkio, oletusarvoina <h1>-<h6> elementeille. |\n | ``nimi`` | Vaihtoehto vastata saavutettavaan nimeen. Oletuksena vastaaminen on kirjainten koosta riippumaton ja etsii alimerkkijonoa, k\u00e4yt\u00e4 tarkkaa ohjaamaan t\u00e4t\u00e4 k\u00e4ytt\u00e4ytymist\u00e4. |\n | ``painettu`` | Attribuutti, joka on yleens\u00e4 asetettu aria-pressed. |\n | ``valittu`` | Attribuutti, joka on yleens\u00e4 asetettu aria-selected. |\n\n Jos elementti on haettava iframe:sta, valitsimen etuliite on m\u00e4\u00e4ritett\u00e4v\u00e4 k\u00e4ytt\u00e4en `Aseta valitsimen etuliite`-avainsanaa, joka sis\u00e4lt\u00e4\u00e4 ``>>>`` lopetuksena.\n\n [https://forum.robotframework.org/t//5938|Kommentti >>]\n ",
"sha256": "3e43cbca747a8c2852d44aeab76f1bef3e18cab5624e71639231be0621be0418"
},
"get_element_count": {
"name": "hae_elementtien_lukum\u00e4\u00e4r\u00e4",
"doc": "Palauttaa elementtien lukum\u00e4\u00e4r\u00e4n, jotka on l\u00f6ydetty ``valitsin``-parametrilla.\n\n | =Argumentit= | =Kuvaus= |\n | ``valitsin`` | Valitsin, jota on laskettava. Katso `Elementtien etsiminen` -osio lis\u00e4tietoja valitsimista. |\n | ``v\u00e4itt\u00e4m\u00e4_operaattori`` | Katso `V\u00e4itteet` lis\u00e4tietoja varten. Oletusarvo on Ei mit\u00e4\u00e4n. |\n | ``v\u00e4itt\u00e4m\u00e4_odotettu`` | Odotettu arvo laskennalle |\n | ``viesti`` | korvaa v\u00e4itteen oletusvirhesanoman. |\n\n Vaihtoehtoisesti v\u00e4itt\u00e4\u00e4, ett\u00e4 tila vastaa m\u00e4\u00e4ritetty\u00e4 v\u00e4itett\u00e4. Katso\n `V\u00e4itteet` lis\u00e4tietoja varten v\u00e4itteiden argumenteista. Oletuksena v\u00e4itett\u00e4\n ei tehd\u00e4.\n\n Esimerkki:\n | `Hae elementtien laskum\u00e4\u00e4r\u00e4` valintaruutu > 1\n\n [https://forum.robotframework.org/t//4270|Kommentti >>]\n ",
"sha256": "30c52d8a09e16b9bba8d2c91ab7b2aec12fd5e273cbe38018b3d737128145c0e"
},
"get_element_states": {
"name": "hae_elementtin_tilat",
"doc": "Hanki elementist\u00e4, joka on l\u00f6ydetty ``valitsin``-parametrilla, aktiiviset tilat.\n\n T\u00e4m\u00e4 avainsana palauttaa listan tiloista, jotka ovat voimassa valitulle elementille.\n\n\n | =Argumentit= | =Kuvaus= |\n | ``valitsin`` | Vastaavan objektin valitsin. Katso `Elementtien etsiminen` -osio lis\u00e4tietoja valitsimista. |\n | ``v\u00e4itt\u00e4m\u00e4_operaattori`` | Katso `V\u00e4itteet` lis\u00e4tietoja varten. Oletusarvo on Ei mit\u00e4\u00e4n. |\n | ``*v\u00e4itt\u00e4m\u00e4_odotettu`` | Odotetut tilat |\n | ``viesti`` | korvaa v\u00e4itteen oletusvirhesanoman. |\n | ``palauta_nimet`` | Jos asetetaan arvoon ``Ep\u00e4tosi``, avainsana palauttaa IntFlag-objektin (`ElementState`) sijasta listan. `ElementState` voi sis\u00e4lt\u00e4\u00e4 useita tiloja samanaikaisesti. Oletusarvo on ``Tosi``. |\n\n Vaihtoehtoisesti v\u00e4itt\u00e4\u00e4, ett\u00e4 tila vastaa m\u00e4\u00e4ritetty\u00e4 v\u00e4itett\u00e4. Katso\n `V\u00e4itteet` lis\u00e4tietoja varten v\u00e4itteiden argumenteista. Oletuksena v\u00e4itett\u00e4\n ei tehd\u00e4.\n\n T\u00e4m\u00e4 avainsana toimii sis\u00e4isesti Pythonin IntFlagin kanssa.\n Lippuja voidaan k\u00e4sitell\u00e4 bitiviisaiden operaattoreiden, kuten & (bittien JA) ja | (bittien TAI), avulla.\n K\u00e4ytett\u00e4ess\u00e4 v\u00e4itt\u00e4m\u00e4operaattoreita ``sitten``, ``arvioi`` tai ``validoi``, ``arvo``\n sis\u00e4lt\u00e4\u00e4 tilat `ElementState`-muodossa.\n\n Esimerkki:\n | `Hae elementin tilat` h1 validoi arvo & n\u00e4kyv\u00e4 # Ep\u00e4onnistuu, jos elementti on n\u00e4kym\u00e4t\u00f6n\n | `Hae elementin tilat` h1 sitten arvo & (n\u00e4kyv\u00e4 | piilotettu) # Palauttaa joko ``['n\u00e4kyv\u00e4']`` tai ``['piilotettu']``\n | `Hae elementin tilat` h1 sitten bool(arvo & n\u00e4kyv\u00e4) # Palauttaa ``${Tosi}``, jos elementti on n\u00e4kyv\u00e4\n\n Tavallisin k\u00e4ytt\u00f6tarkoitus olisi varmistaa, ett\u00e4 elementti sis\u00e4lt\u00e4\u00e4 tietyn tilan tai useita tiloja.\n\n Esimerkki:\n | `Hae elementin tilat` id=tarkistettu_elem *= tarkistettu\n | `Hae elementin tilat` id=tarkistettu_elem ei sis\u00e4ll\u00e4 tarkistettu\n | `Hae elementin tilat` id=piilotettu_elem sis\u00e4lt\u00e4\u00e4 piilotettu liitetty\n | `Hae elementin tilat` id=pois_k\u00e4yt\u00f6st\u00e4_elem sis\u00e4lt\u00e4\u00e4 n\u00e4kyv\u00e4 pois_k\u00e4yt\u00f6st\u00e4 vain_luku\n\n Elementit palauttavat positiiviset ja negatiiviset arvot tarvittaessa.\n Esimerkiksi valintaruutu palauttaa joko ``tarkistettu`` tai ``tarkistamaton``, kun taas tekstin sy\u00f6tt\u00f6kent\u00e4ll\u00e4\n ei ole n\u00e4it\u00e4 kahta tilaa.\n Valintaelementeill\u00e4 on my\u00f6s joko ``valittu`` tai ``valitsematon``.\n\n ``animoiva``-tila asetetaan, jos elementti\u00e4 ei pidet\u00e4 ``vakiona``\n 300 millisekunnin kuluessa.\n\n Jos elementti\u00e4 ei ole liitetty DOM:iin, joten sit\u00e4 ei voi l\u00f6yt\u00e4\u00e4 250 millisekunnin kuluessa\n se merkit\u00e4\u00e4n ``irrotettuna`` ainoaksi tilaksi.\n\n ``vakaa``-tilaa ei palauteta, koska se aiheuttaisi liian suuren viiveen kyseisess\u00e4 avainsanassa.\n\n Avainsana k\u00e4ytt\u00e4\u00e4 tiukkaa tilaa, katso `Elementtien etsiminen` lis\u00e4tietoja tiukasta tilasta.\n\n [https://forum.robotframework.org/t//4272|Kommentti >>]\n ",
"sha256": "38696152c60a7ba59fc74f536afbd232a75a0c4ae186d876e56bb92e22df68f8"
},
"get_elements": {
"name": "hae_elementtit",
"doc": "Palauttaa viittauksen Playwrightin [https://playwright.dev/docs/api/class-locator|Locator]-objektiin\n kaikille sopiville elementeille ``valitsin``-parametrilla.\n\n\n | =Argumentit= | =Kuvaus= |\n | ``valitsin`` | Valitsin, josta on haettava. Katso `Elementtien etsiminen` -osio lis\u00e4tietoja valitsimista. |\n\n Esimerkki:\n | ${elementit} = `Hae elementit`\n | ${elem} = Hae listasta ${elementit} 0\n | ${valinnan_arvo} = `Hae ominaisuus` ${elem} >> vaihtoehto arvo\n\n [https://forum.robotframework.org/t//4273|Kommentti >>]\n ",
"sha256": "675c123af074f33c4ca9047e241bfef9df5ff700c0befcd5f0abf86cfc9ab2a3"
},
"get_page_source": {
"name": "hae_sivun_koodi",
"doc": "Hakee sivun HTML-l\u00e4hteen merkkijonona.\n\n | =Argumentit= | =Kuvaus= |\n | ``v\u00e4itt\u00e4m\u00e4_operaattori`` | Katso `V\u00e4itteet` lis\u00e4tietoja varten. Oletusarvo on Ei mit\u00e4\u00e4n. |\n | ``v\u00e4itt\u00e4m\u00e4_odotettu`` | Odotettu arvo tilalle |\n | ``viesti`` | korvaa v\u00e4itteen oletusvirhesanoman. |\n\n Vaihtoehtoisesti tekee merkkijonov\u00e4itteen. Katso `V\u00e4itteet` lis\u00e4tietoja varten\n v\u00e4itteiden argumenteista. Oletuksena v\u00e4itett\u00e4 ei tehd\u00e4.\n\n [https://forum.robotframework.org/t//4275|Kommentti >>]\n ",
"sha256": "36dffa64e785689c5a4df96eeb415ba25ba708fbe19c8c0d6001f15874eefd9a"
},
"get_property": {
"name": "hae_ominaisuus",
"doc": "Palauttaa ``ominaisuuden``, joka on l\u00f6ydetty ``valitsin``-parametrilla.\n\n | =Argumentit= | =Kuvaus= |\n | ``valitsin`` | Valitsin, josta tieto on noudettava. Katso `Elementtien etsiminen` -osio lis\u00e4tietoja valitsimista. |\n | ``ominaisuus`` | Pyydetyn ominaisuuden nimi. |\n | ``v\u00e4itt\u00e4m\u00e4_operaattori`` | Katso `V\u00e4itteet` lis\u00e4tietoja varten. Oletusarvo on Ei mit\u00e4\u00e4n. |\n | ``v\u00e4itt\u00e4m\u00e4_odotettu`` | Odotettu arvo tilalle |\n | ``viesti`` | korvaa v\u00e4itteen oletusvirhesanoman. |\n\n Avainsana k\u00e4ytt\u00e4\u00e4 tiukkaa tilaa, katso `Elementtien etsiminen` lis\u00e4tietoja tiukasta tilasta.\n\n Vaihtoehtoisesti v\u00e4itt\u00e4\u00e4, ett\u00e4 ominaisuuden arvo vastaa odotettua arvoa. Katso `V\u00e4itteet`\n lis\u00e4tietoja varten v\u00e4itteiden argumenteista. Oletuksena v\u00e4itett\u00e4 ei tehd\u00e4.\n\n Jos ``v\u00e4itt\u00e4m\u00e4_operaattori`` on asetettu ja ominaisuutta ei l\u00f6ydy, ``arvo`` on ``None``\n ja avainsana ei ep\u00e4onnistu. Katso `Hae attribuutti` esimerkkej\u00e4 varten.\n\n Esimerkki:\n | `Hae ominaisuus` h1 innerText == Kirjautumissivu\n | ${ominaisuus} = `Hae ominaisuus` h1 innerText\n\n [https://forum.robotframework.org/t//4276|Kommentti >>]\n ",
"sha256": "90608136fe6c72d9a59c9b630ecc3ffa9a3a7dbaed02705e0192cbe6db09d5be"
},
"get_scroll_position": {
"name": "hae_vierityksen_sijainti",
"doc": "Hakee elementtien tai sivun nykyisen vieritysasennon objektina ``{yl\u00e4: float, vasen: float, ala: float, oikea: float}``.\n\n Se kuvaa suorakulmiota, joka on n\u00e4kyviss\u00e4 kyseisen elementin vieritett\u00e4v\u00e4st\u00e4 sis\u00e4ll\u00f6st\u00e4.\n kaikki arvot mitataan sijainnista {yl\u00e4: 0, vasen: 0}.\n\n\n | =Argumentit= | =Kuvaus= |\n | ``valitsin`` | Valinnainen valitsin, josta tiedot on noudettava. Jos valitsinta ei anneta, k\u00e4ytet\u00e4\u00e4n sivun omaa vierityselementti\u00e4 (``document.scrollingElement``). Katso `Elementtien etsiminen` -osio lis\u00e4tietoja valitsimista. |\n | ``avain`` | Valinnaisesti suodattaa palautetut arvot. Jos avaimet on asetettu arvoon ``KAIKKI`` (oletusarvo) se palauttaa vieritysasennon sanakirjana, muuten se palauttaa vain avaimen valitseman yksitt\u00e4isen arvon. |\n | ``v\u00e4itt\u00e4m\u00e4_operaattori`` | Katso `V\u00e4itteet` lis\u00e4tietoja varten. Oletusarvo on Ei mit\u00e4\u00e4n. |\n | ``v\u00e4itt\u00e4m\u00e4_odotettu`` | Odotettu arvo laskennalle |\n | ``viesti`` | korvaa v\u00e4itteen oletusvirhesanoman. |\n\n Avainsana k\u00e4ytt\u00e4\u00e4 tiukkaa tilaa, katso `Elementtien etsiminen` lis\u00e4tietoja tiukasta tilasta.\n\n Vaihtoehtoisesti v\u00e4itt\u00e4\u00e4, ett\u00e4 arvo vastaa m\u00e4\u00e4ritetty\u00e4 v\u00e4itett\u00e4. Katso\n `V\u00e4itteet` lis\u00e4tietoja varten v\u00e4itteiden argumenteista. Oletuksena v\u00e4itett\u00e4\n ei tehd\u00e4.\n\n Katso esimerkkej\u00e4 `Hae rajoittava laatikko` tai `Hae vierityksen koko`.\n\n [https://forum.robotframework.org/t//4277|Kommentti >>]\n ",
"sha256": "ef967abc94957dbc573a38f58e6f72962aedde5253b1ba80a83a83ec4944f332"
},
"get_scroll_size": {
"name": "hae_vierityksen_koko",
"doc": "Hakee elementtien tai sivun vieritett\u00e4v\u00e4n koon objektina ``{leveys: float, korkeus: float}``.\n\n\n | =Argumentit= | =Kuvaus= |\n | ``valitsin`` | Valinnainen valitsin, josta tiedot on noudettava. Jos valitsinta ei anneta, k\u00e4ytet\u00e4\u00e4n sivun omaa vierityskokoa. Katso `Elementtien etsiminen` -osio lis\u00e4tietoja valitsimista. |\n | ``avain`` | Valinnaisesti suodattaa palautetut arvot. Jos avaimet on asetettu arvoon ``KAIKKI`` (oletusarvo) se palauttaa vierityskoon sanakirjana, muuten se palauttaa vain avaimen valitseman yksitt\u00e4isen arvon. |\n | ``v\u00e4itt\u00e4m\u00e4_operaattori`` | Katso `V\u00e4itteet` lis\u00e4tietoja varten. Oletusarvo on Ei mit\u00e4\u00e4n. |\n | ``v\u00e4itt\u00e4m\u00e4_odotettu`` | Odotettu arvo laskennalle |\n | ``viesti`` | korvaa v\u00e4itteen oletusvirhesanoman. |\n\n Avainsana k\u00e4ytt\u00e4\u00e4 tiukkaa tilaa, katso `Elementtien etsiminen` lis\u00e4tietoja tiukasta tilasta.\n\n Vaihtoehtoisesti v\u00e4itt\u00e4\u00e4, ett\u00e4 tila vastaa m\u00e4\u00e4ritetty\u00e4 v\u00e4itett\u00e4. Katso\n `V\u00e4itteet` lis\u00e4tietoja varten v\u00e4itteiden argumenteista. Oletuksena v\u00e4itett\u00e4\n ei tehd\u00e4.\n\n Katso `Hae rajoittava laatikko` lis\u00e4\u00e4 vastaavia esimerkkej\u00e4 varten.\n\n Esimerkkik\u00e4ytt\u00f6:\n | ${korkeus}= `Hae vierityskoko` korkeus # suodatettu sivu korkeuden mukaan\n | Log Leveys: ${korkeus} # Korkeus: 58425\n | ${vierityskoko}= `Hae vierityskoko` id=avainsanat-pikan\u00e4pp\u00e4imet-astia # suodattamaton elementti\n | Log ${vierityskoko} # {'leveys': 253, 'korkeus': 3036}\n\n [https://forum.robotframework.org/t//4278|Kommentti >>]\n ",
"sha256": "4548c0e9dc86d8af6bd8178e21f19b11d8930c8f8b928e7fec24dd54f0ae04de"
},
"get_select_options": {
"name": "hae_valittu_vaihtoehdot",
"doc": "Palauttaa ``select``-elementin valintojen attribuutit listana sanakirjoina.\n\n Palautetut sanakirjat sis\u00e4lt\u00e4v\u00e4t seuraavat avaimet ja niiden arvot\n \"indeksi\", \"arvo\", \"tunniste\" ja \"valittu\".\n\n\n | =Argumentit= | =Kuvaus= |\n | ``valitsin`` | Valitsin, josta tiedot on noudettava. Katso `Elementtien etsiminen` -osio lis\u00e4tietoja valitsimista. |\n | ``v\u00e4itt\u00e4m\u00e4_operaattori`` | Katso `V\u00e4itteet` lis\u00e4tietoja varten. Oletusarvo on Ei mit\u00e4\u00e4n. |\n | ``v\u00e4itt\u00e4m\u00e4_odotettu`` | Odotettu arvo tilalle |\n | ``viesti`` | korvaa v\u00e4itteen oletusvirhesanoman. |\n\n Avainsana k\u00e4ytt\u00e4\u00e4 tiukkaa tilaa, katso `Elementtien etsiminen` lis\u00e4tietoja tiukasta tilasta.\n\n Vaihtoehtoisesti v\u00e4itt\u00e4\u00e4, ett\u00e4 ne vastaavat m\u00e4\u00e4ritetty\u00e4 v\u00e4itett\u00e4. Katso\n `V\u00e4itteet` lis\u00e4tietoja varten v\u00e4itteiden argumenteista. Oletuksena v\u00e4itett\u00e4\n ei tehd\u00e4.\n\n Esimerkki:\n\n | `Hae valintavaihtoehdot` //select[2] validate [v[\"tunniste\"] for v in arvo] == [\"S\u00e4hk\u00f6posti\", \"Matkapuhelin\"]\n | `Hae valintavaihtoehdot` select#nimet validate any(v[\"tunniste\"] == \"Mikko\" for v in arvo)\n\n [https://forum.robotframework.org/t//4279|Kommentti >>]\n ",
"sha256": "9da8bdae574b99e702e1ddac1e772b27549b3e595a89a05f42760c395fe24ba1"
},
"get_selected_options": {
"name": "hae_valitut_vaihtoehdot",
"doc": "Palauttaa m\u00e4\u00e4ritetyn valitun vaihtoehdon attribuutin ``select`` -elementist\u00e4.\n\n | =Argumentit= | =Kuvaus= |\n | ``valitsin`` | Valitsin, jolta tiedot on haettava. Katso `Elementtien l\u00f6yt\u00e4minen` -osio tarkempia tietoja valitsimista. |\n | ``vaihtoehto_attribuutti`` | Mik\u00e4 ominaisuus palautetaan/tarkistetaan. Oletusarvo on label. |\n | ``v\u00e4itt\u00e4m\u00e4_operaattori`` | Katso `V\u00e4itteet` lis\u00e4tietoja varten. Oletusarvo on Ei mit\u00e4\u00e4n. |\n | ``v\u00e4itt\u00e4m\u00e4_odotettu`` | Odotettu arvo tilalle |\n | ``viesti`` | Korvaa oletusvirhesanoman. |\n\n Avainsana k\u00e4ytt\u00e4\u00e4 tiukkaa tilaa, katso `Elementtien l\u00f6yt\u00e4minen` -osio tarkempien tietojen saamiseksi tiukasta tilasta.\n\n Valinnaisesti v\u00e4itt\u00e4\u00e4, ett\u00e4 n\u00e4m\u00e4 vastaavat m\u00e4\u00e4ritetty\u00e4 v\u00e4itett\u00e4. Katso\n `V\u00e4itteet` lis\u00e4tietoja varten v\u00e4itteiden argumenteista. Oletuksena v\u00e4itett\u00e4 ei tehd\u00e4.\n\n - ``==`` , ``!=`` ja ``contains`` / ``*=`` voi toimia useiden arvojen kanssa\n - ``validate`` ja ``evaluate`` hyv\u00e4ksyv\u00e4t vain yhden odotetun arvon\n\n Muut operaattorit eiv\u00e4t ole sallittuja.\n\n Esimerkki:\n\n | `Select Options By` label //select[2] Email Mobile\n | ${selected_list} `Get Selected Options` //select[2] # hakija\n | `Get Selected Options` //select[2] label `==` Mobile Mail #v\u00e4ite sis\u00e4lt\u00f6\n | `Select Options By` label select#names 2 4\n | `Get Selected Options` select#names index `==` 2 4 #v\u00e4ite indeksi\n | `Get Selected Options` select#names label *= Mikko #v\u00e4ite sis\u00e4lt\u00e4\u00e4\n | `Get Selected Options` select#names label validate len(value) == 3 #v\u00e4ite pituus\n\n [https://forum.robotframework.org/t//4280|Kommentti >>]\n ",
"sha256": "18483fdb68d49f166b79cb66d707cccb58c2a76137f4f791af555ec726064f24"
},
"get_style": {
"name": "hae_tyyli",
"doc": "Hakee elementin valitun tyylin laskennalliset ominaisuudet valitsimella ``selector``.\n\n Valinnaisesti vastaa mink\u00e4 tahansa sekvenssin v\u00e4itteen operaattorilla.\n\n\n | =Argumentit= | =Kuvaus= |\n | ``valitsin`` | Valitsin, jolta tyyli on haettava. Katso `Elementtien l\u00f6yt\u00e4minen` -osio tarkempia tietoja valitsimista. |\n | ``avain`` | Pyydetyn CSS-ominaisuuden avain. Noutaa \"ALL\" tyylit sanakirjana oletusarvoisesti. Kaikkia css-asetuksia voidaan k\u00e4ytt\u00e4\u00e4 avaimina, vaikka niit\u00e4 ei kaikkia palauteta sanakirjassa. |\n | ``v\u00e4itt\u00e4m\u00e4_operaattori`` | Katso `V\u00e4itteet` lis\u00e4tietoja varten. Oletusarvo on Ei mit\u00e4\u00e4n. |\n | ``v\u00e4itt\u00e4m\u00e4_odotettu`` | Odotettu arvo tilalle |\n | ``viesti`` | Korvaa oletusvirhesanoman. |\n | ``pseudo-elementti`` | V\u00e4\u00e4rennetty elementti vastaamaan. Oletusarvo on Ei mit\u00e4\u00e4n. Pseudo-elementit ovat erityisi\u00e4 css |\n\n [ https://developer.mozilla.org/en-US/docs/Web/CSS/Pseudo-elements | Pseudo element ] on css-toiminnallisuus, joka lis\u00e4\u00e4 tyylej\u00e4. Esimerkiksi `::before` tai `::after`.\n\n Avainsana k\u00e4ytt\u00e4\u00e4 tiukkaa tilaa, katso `Elementtien l\u00f6yt\u00e4minen` -osio tarkempien tietojen saamiseksi tiukasta tilasta.\n\n Valinnaisesti v\u00e4itt\u00e4\u00e4, ett\u00e4 tyyli vastaa m\u00e4\u00e4ritetty\u00e4 v\u00e4itett\u00e4. Katso\n `V\u00e4itteet` lis\u00e4tietoja varten v\u00e4itteiden argumenteista. Oletuksena v\u00e4itett\u00e4 ei tehd\u00e4.\n\n [https://forum.robotframework.org/t//4281|Kommentti >>]\n ",
"sha256": "b228d315ec24ab255393fd7e8ae67f963cc8556c08da342f4f75a548dd1157f9"
},
"get_table_cell_element": {
"name": "hae_taulukon_soluelementti",
"doc": "Palauttaa Web-elementin, jolla on sama sarakkeen indeksi ja sama rivin indeksi kuin valituilla elementeill\u00e4.\n\n | =Argumentit= | =Kuvaus= |\n | ``taulukko`` | Valitsimen on valittava ``<table>``-elementti, joka sis\u00e4lt\u00e4\u00e4 molemmat valitut elementit |\n | ``sarake`` | Valitsin voi valita mink\u00e4 tahansa ``<th>``- tai ``<td>``-elementin tai jonkin niiden alielementin. |\n | ``rivi`` | Valitsin voi valita mink\u00e4 tahansa ``<tr>``-elementin tai jonkin sen alielementin, kuten ``<td>``-elementit. |\n\n ``sarake`` ja ``rivi`` voivat kuluttaa my\u00f6s indeksinumeroita valitsimien sijaan.\n Indeksit alkavat ``0``:sta, ja ``-1`` on erityinen viimeiselle elementille.\n\n ``Saraketta`` ja ``rivi\u00e4`` koskevat valitsimet liitet\u00e4\u00e4n suoraan ``taulukon`` valitsimeen n\u00e4in: ``f\"{taulukko} >> {rivi}\" .``\n\n | = GitHub = | = Slack = | = Oikea nimi = |\n | mkorpela | @mkorpela | Mikko Korpela |\n | aaltat | @aaltat | Tatu Aalto |\n | xylix | @Kerkko Pelttari | Kerkko Pelttari |\n | Snooz82 | @Ren\u00e9 | Ren\u00e9 Rohner |\n\n\n Esimerkki:\n | ${taulukko}= Aseta muuttuja [id=\"Get Table Cell Element\"] >> div.kw-docs table >> nth=1\n | ${e}= `Hae taulukon solun elementti` ${taulukko} \"Oikea nimi\" \"aaltat\" # Palauttaa elementin tekstill\u00e4 ``Tatu Aalto``\n | Hae teksti ${e} == Tatu Aalto\n | ${e}= `Hae taulukon solun elementti` ${taulukko} \"Slack\" \"Mikko Korpela\" # Palauttaa elementin tekstill\u00e4 ``@mkorpela``\n | Hae teksti ${e} == @mkorpela\n | ${e}= `Hae taulukon solun elementti` ${taulukko} \"mkorpela\" \"Kerkko Pelttari\" # saraketta ei tarvitse olla rivill\u00e4 0\n | Hae teksti ${e} == @mkorpela\n | ${e}= `Hae taulukon solun elementti` ${taulukko} 2 -1 # Indeksi on my\u00f6s suoraan mahdollinen\n | Hae teksti ${e} == Ren\u00e9 Rohner\n\n [https://forum.robotframework.org/t//4282|Kommentti >>]\n ",
"sha256": "d4698204dbef223862365cdb4a6d8d3ee553f77b744607f618bab0dcea39e1a4"
},
"get_table_cell_index": {
"name": "hae_taulukon_soluindeksi",
"doc": "Palauttaa taulukon solun indeksin (0-pohjainen) sen rivill\u00e4.\n\n | =Argumentit= | =Kuvaus= |\n | ``valitsin`` | voi valita mink\u00e4 tahansa ``<th>``- tai ``<td>``-elementin tai jonkin niiden alielementin. Katso lis\u00e4tietoja valitsimista osiosta `Elementtien etsiminen`. |\n | ``v\u00e4itt\u00e4m\u00e4_operaattori`` | Katso `V\u00e4itteet` lis\u00e4tietoja varten. Oletusarvo on Ei mit\u00e4\u00e4n. |\n | ``v\u00e4itt\u00e4m\u00e4_odotettu`` | Odotettu arvo tilalle |\n | ``viesti`` | korvaa v\u00e4itteen oletusvirhesanoman. |\n\n Esimerkki:\n | ${taulukko}= Aseta muuttuja id=`Get Table Cell Element` >> div.kw-docs table #Taulukko avainsanan `Get Table Cell Element`\n | ${idx}= `Hae taulukon solun indeksi` ${taulukko} >> \"Oikea nimi\"\n | Pit\u00e4isi olla yht\u00e4 suuri ${idx} ${2}\n | `Hae taulukon solun indeksi` ${taulukko} >> \"@aaltat\" == 1\n\n Valinnaisesti v\u00e4itt\u00e4\u00e4, ett\u00e4 indeksi vastaa m\u00e4\u00e4ritetty\u00e4 v\u00e4itett\u00e4. Katso\n `V\u00e4itteet` lis\u00e4tietoja varten v\u00e4itteiden argumenteista.\n Oletuksena v\u00e4itett\u00e4 ei tehd\u00e4.\n\n [https://forum.robotframework.org/t//4283|Kommentti >>]\n ",
"sha256": "8b2974b09d4743121b9f7c470b255b9ba0d2ddef264ce903198f399f1131640d"
},
"get_table_row_index": {
"name": "hae_taulukon_rivi-indeksi",
"doc": "Palauttaa taulukon rivin indeksin (0-pohjainen).\n\n\n | =Argumentit= | =Kuvaus= |\n | ``valitsin`` | voi valita mink\u00e4 tahansa ``<th>``- tai ``<td>``-elementin tai jonkin niiden alielementin. Katso lis\u00e4tietoja valitsimista osiosta `Elementtien etsiminen`. |\n | ``v\u00e4itt\u00e4m\u00e4_operaattori`` | Katso `V\u00e4itteet` lis\u00e4tietoja varten. Oletusarvo on Ei mit\u00e4\u00e4n. |\n | ``v\u00e4itt\u00e4m\u00e4_odotettu`` | Odotettu arvo tilalle |\n | ``viesti`` | korvaa v\u00e4itteen oletusvirhesanoman. |\n\n Esimerkki:\n | ${taulukko}= Aseta muuttuja id=`Get Table Cell Element` >> div.kw-docs table #Taulukko avainsanan `Get Table Cell Element`\n | ${idx}= `Hae taulukon rivin indeksi` ${taulukko} >> \"@Ren\u00e9\"\n | Pit\u00e4isi olla yht\u00e4 suuri ${idx} ${4}\n | `Hae taulukon rivin indeksi` ${taulukko} >> \"@aaltat\" == 2\n\n Valinnaisesti v\u00e4itt\u00e4\u00e4, ett\u00e4 indeksi vastaa m\u00e4\u00e4ritetty\u00e4 v\u00e4itett\u00e4. Katso\n `V\u00e4itteet` lis\u00e4tietoja varten v\u00e4itteiden argumenteista.\n Oletuksena v\u00e4itett\u00e4 ei tehd\u00e4.\n\n [https://forum.robotframework.org/t//4284|Kommentti >>]\n ",
"sha256": "c3e673876fbf48d1fb2aeec0a74c8d37f5e2fab7f49643388cb77ff2b65edca3"
},
"get_text": {
"name": "hae_teksti",
"doc": "Palauttaa ``valitsimen`` l\u00f6yt\u00e4m\u00e4n elementin tekstiattribuutin.\n\n Avainsana voi my\u00f6s palauttaa `input`- tai `textarea`-elementin arvonattribuutin tekstin.\n Katso lis\u00e4tietoja valitsimista osiosta `Elementtien etsiminen`.\n\n | =Argumentit= | =Kuvaus= |\n | ``v\u00e4itt\u00e4m\u00e4_operaattori`` | Katso `V\u00e4itteet` lis\u00e4tietoja varten. Oletusarvo on Ei mit\u00e4\u00e4n. |\n | ``v\u00e4itt\u00e4m\u00e4_odotettu`` | Odotettu arvo tilalle |\n | ``viesti`` | korvaa v\u00e4itteen oletusvirhesanoman. |\n\n Avainsana k\u00e4ytt\u00e4\u00e4 tiukkaa tilaa, katso `Elementtien etsiminen` lis\u00e4tietoja tiukasta tilasta.\n\n Valinnaisesti v\u00e4itt\u00e4\u00e4, ett\u00e4 teksti vastaa m\u00e4\u00e4ritetty\u00e4 v\u00e4itett\u00e4. Katso `V\u00e4itteet`\n lis\u00e4tietoja varten v\u00e4itteiden argumenteista. Oletuksena v\u00e4itett\u00e4 ei tehd\u00e4.\n\n Esimerkki:\n | ${teksti} = `Hae teksti` id=t\u00e4rke\u00e4 # Palauttaa elementin tekstin ilman v\u00e4itett\u00e4.\n | ${teksti} = `Hae teksti` id=t\u00e4rke\u00e4 == T\u00e4rke\u00e4 teksti # Palauttaa elementin tekstin v\u00e4itteen kanssa.\n | ${teksti} = `Hae teksti` //input == root # Palauttaa sy\u00f6te-elementin tekstin v\u00e4itteen kanssa.\n\n [https://forum.robotframework.org/t//4285|Kommentti >>]\n ",
"sha256": "5f6310dba0949933cb6d1c7042d6f8975dad40a68e36b5b7da1172507be49de2"
},
"get_title": {
"name": "hae_otsikko",
"doc": "Palauttaa nykyisen sivun otsikon.\n\n | =Argumentit= | =Kuvaus= |\n | ``v\u00e4itt\u00e4m\u00e4_operaattori`` | Katso `V\u00e4itteet` lis\u00e4tietoja varten. Oletusarvo on Ei mit\u00e4\u00e4n. |\n | ``v\u00e4itt\u00e4m\u00e4_odotettu`` | Odotettu arvo tilalle |\n | ``viesti`` | Korvaa oletusvirhesanoman. |\n\n Valinnaisesti v\u00e4itt\u00e4\u00e4, ett\u00e4 otsikko vastaa m\u00e4\u00e4ritetty\u00e4 v\u00e4itett\u00e4. Katso `V\u00e4itteet`\n lis\u00e4tietoja varten v\u00e4itteiden argumenteista. Oletuksena v\u00e4itett\u00e4 ei tehd\u00e4.\n\n [https://forum.robotframework.org/t//4286|Kommentti >>]\n ",
"sha256": "ad14f4516d35c8bc348d94f6832914b176c82b735d6305988e5a6dafd796bbe7"
},
"get_url": {
"name": "hae_osoite",
"doc": "Palauttaa nykyisen URL-osoitteen.\n\n | =Argumentit= | =Kuvaus= |\n | ``v\u00e4itt\u00e4m\u00e4_operaattori`` | Katso `V\u00e4itteet` lis\u00e4tietoja varten. Oletusarvo on Ei mit\u00e4\u00e4n. |\n | ``v\u00e4itt\u00e4m\u00e4_odotettu`` | Odotettu arvo tilalle |\n | ``viesti`` | Korvaa oletusvirhesanoman. |\n\n V\u00e4itt\u00e4\u00e4 valinnaisesti, ett\u00e4 se vastaa m\u00e4\u00e4ritetty\u00e4 v\u00e4itett\u00e4. Katso `V\u00e4itteet` lis\u00e4tietoja varten\n v\u00e4itteiden argumenteista. Oletuksena v\u00e4itett\u00e4 ei tehd\u00e4.\n\n [https://forum.robotframework.org/t//4287|Kommentti >>]\n ",
"sha256": "1db2d51125d9dd544a8310822fed1ac8e05dd729fd6f4675e3c7c374b3f3ba0c"
},
"get_viewport_size": {
"name": "hae_n\u00e4kym\u00e4n_koko",
"doc": "Palauttaa nykyiset n\u00e4kym\u00e4nmitat.\n\n | =Argumentit= | =Kuvaus= |\n | ``avain`` | Suodattaa valinnaisesti palautetut arvot. Jos avain on asetettu arvoon ``ALL`` (oletus), se palauttaa n\u00e4kym\u00e4n koon sanakirjana, muuten se palauttaa vain avaimen valitseman yksitt\u00e4isen arvon. Huomautus: Jos haetaan yksitt\u00e4ist\u00e4 arvoa, v\u00e4itt\u00e4m\u00e4\u00e4 ei tarvitse *validoida* yhdistettyn\u00e4 ``arvo``-muunnokseen. |\n | ``v\u00e4itt\u00e4m\u00e4_operaattori`` | Katso `V\u00e4itteet` lis\u00e4tietoja varten. Oletusarvo on Ei mit\u00e4\u00e4n. |\n | ``v\u00e4itt\u00e4m\u00e4_odotettu`` | Odotettu arvo tilalle |\n | ``viesti`` | Korvaa oletusvirhesanoman. |\n\n V\u00e4itt\u00e4\u00e4 valinnaisesti, ett\u00e4 tila vastaa m\u00e4\u00e4ritetty\u00e4 v\u00e4itett\u00e4. Katso\n `V\u00e4itteet` lis\u00e4tietoja varten v\u00e4itteen argumenteista. Oletuksena v\u00e4itett\u00e4 ei tehd\u00e4.\n\n Esimerkki:\n | `Get Viewport Size` ALL == {'width':1280, 'height':720}\n | `Get Viewport Size` width >= 1200\n\n [https://forum.robotframework.org/t//4288|Kommentti >>]\n ",
"sha256": "8bae8bb6e659b74e44b469dcf7a6e25c439c8f0ca2794a9d7a80b60ce6e9af80"
},
"http": {
"name": "http",
"doc": "Suorittaa HTTP-pyynn\u00f6n nykyisess\u00e4 selaimen kontekstissa\n\n | =Argumentit= | =Kuvaus= |\n | ``url`` | Pyynt\u00f6-URL-osoite, esim. ``/api/foo``. |\n | ``method`` | HTTP-menetelm\u00e4 pyynn\u00f6lle. Oletusarvo on GET. |\n | ``body`` | Pyynt\u00f6tieto. GET-pyynn\u00f6ill\u00e4 ei voi olla tietoa. Jos tieto voidaan tulkita JSON-muotoon, pyynn\u00f6n ``Content-Type``-otsikko asetetaan automaattisesti arvoon ``application/json``. Oletusarvo on Ei mit\u00e4\u00e4n. |\n | ``headers`` | Lis\u00e4otsikoista koostuva sanakirja. Oletusarvo on Ei mit\u00e4\u00e4n. |\n\n Vastaus on Python-sanakirja, jossa on seuraavat ominaisuudet:\n - ``status`` <int> Vastauksen tilakoodi.\n - ``statusText`` <str> Tilateksti vastaten ``status``-arvoa, esim. OK tai INTERNAL SERVER ERROR. T\u00e4t\u00e4 ei v\u00e4ltt\u00e4m\u00e4tt\u00e4 ole saatavilla kaikille selaimille.\n - ``body`` <dict> | <str> Vastauksen tieto. Jos tieto voidaan tulkita JSON-objektiksi,\n se palautetaan Pythonin sanakirjana, muuten se palautetaan merkkijonona.\n - ``headers`` <dict> Sanakirja, joka sis\u00e4lt\u00e4\u00e4 kaikki vastauksen otsikot.\n - ``ok`` <bool> Oliko pyynt\u00f6 onnistunut, eli ``status`` on 200-299 -alueella.\n\n T\u00e4ss\u00e4 on esimerkki Robot Frameworkin sanakirjamuuttujien ja laajennetun muuttujasyntaksin k\u00e4yt\u00f6st\u00e4\n v\u00e4itt\u00e4mien tekemiseen vastausobjektissa:\n\n | &{res}= `HTTP` /api/loppupiste\n | Should Be Equal ${res.status} 200\n | Should Be Equal ${res.body.jokin_kentt\u00e4} jokin arvo\n\n [https://forum.robotframework.org/t//4296|Kommentti >>]\n ",
"sha256": "fd2cbd6c9fee2da14eedaf586e936a14fc7d7e1837247973d861257bb1863395"
},
"wait_for_navigation": {
"name": "odota_navigointia",
"doc": "Odottaa, kunnes sivu on navigoinut annettuun ``url``-osoitteeseen.\n\n\n | =Argumentit= | =Kuvaus= |\n | ``url`` | Odotettu navigointikohdeosoite, joko t\u00e4sm\u00e4llinen osoite tai JavaScript-tyyppinen s\u00e4\u00e4nn\u00f6llinen lauseke, joka on k\u00e4\u00e4ritty ``/``-symboleihin. |\n | ``timeout`` | Aikakatkaisu tukee Robot Frameworkin aikamuotoa. K\u00e4ytt\u00e4\u00e4 oletusaikakatkaisua, jos ei ole asetettu. |\n | ``wait_until`` | Milloin katsotaan, ett\u00e4 toiminto on onnistunut, oletusarvoisesti lataus. Tapahtumat voivat olla joko: ``domcontentloaded`` - katsotaan toiminto valmiiksi, kun DOMContentLoaded-tapahtuma l\u00e4hetet\u00e4\u00e4n. ``load`` - katsotaan toiminto valmiiksi, kun load-tapahtuma l\u00e4hetet\u00e4\u00e4n. ``networkidle`` - katsotaan toiminto valmiiksi, kun ei ole verkkoyhteyksi\u00e4 v\u00e4hint\u00e4\u00e4n 500 ms ajan. ``commit`` - katsotaan toiminto valmiiksi, kun verkkovastaus on saatu ja dokumentti on alkanut ladata. |\n\n\n Avainsana toimii vain, kun sivu on ladattu, eik\u00e4 toimi, jos URL-tunnus muuttuu. Esimerkiksi jos\n https://marketsquare.github.io/robotframework-browser/Browser.html muuttuu\n https://marketsquare.github.io/robotframework-browser/Browser.html#Odota%20Navigointia\n avainsana ep\u00e4onnistuu.\n\n Esimerkki:\n | `Siirry` ${ROOT_URL}/uudelleenohjaaja.html\n | `Odota navigointia` ${ROOT_URL}/postitettu.html wait_until=${wait_until}\n\n [https://forum.robotframework.org/t//4347|Kommentti >>]\n ",
"sha256": "9ba2effa2a64e30def4ceb29628328f73e2c52084af1214469e072bc62e53024"
},
"wait_for_request": {
"name": "odota_pyynt\u00f6\u00e4",
"doc": "Odottaa, ett\u00e4 vastaava pyynt\u00f6 tehd\u00e4\u00e4n.\n\n | =Argumentit= | =Kuvaus= |\n | ``matcher`` | Pyynn\u00f6n URL-tunniste. Se voi olla merkkijono (Glob-kuvio), JavaScript RegExp (kapseloitu /-merkill\u00e4 seuraavilla lipuilla) tai JavaScript nuolifunktio, joka vastaanottaa [https://playwright.dev/docs/api/class-request|Request]-objektin ja palauttaa boolean-arvon. Oletuksena (tyhj\u00e4ll\u00e4 merkkijonolla) vastaa ensimm\u00e4iseen saatavilla olevaan pyynt\u00f6\u00f6n. Lis\u00e4tietoja l\u00f6ytyy Playwrightin [https://playwright.dev/docs/api/class-page#page-wait-for-request|waitForRequest]-dokumentaatiosta. |\n | ``timeout`` | Aikakatkaisu tukee Robot Frameworkin aikamuotoa. K\u00e4ytt\u00e4\u00e4 oletusaikakatkaisua, jos ei ole asetettu. |\n\n Katso lis\u00e4tietoja avainsanasta `Wait For Response`.\n\n *VAROITUS:* Ennen selainkirjaston versiota 17.0.0, ``matcher``-argumentti oli aina joko regex tai JS-funktio.\n Mutta regexin ei tarvinnut olla kauttaviivojen sis\u00e4ll\u00e4.\n Yksinkertaisin tapa siirty\u00e4 uuteen syntaksiin on lis\u00e4t\u00e4 kauttaviivat matcherin ymp\u00e4rille.\n Joten ``/api/get/json`` muuttuu muotoon ``//api/get/json/``.\n\n [https://forum.robotframework.org/t//4348|Kommentti >>]\n ",
"sha256": "520268f696dca7f2a6bcc1cfa262a125852465d27367bdaa518f1bac3c3fb6d6"
},
"wait_for_response": {
"name": "odota_vastausta",
"doc": "Odottaa vastausta, joka vastaa vastaavaa vastaajaa, ja palauttaa vastauksen robotin sanakirjana.\n\n T\u00e4m\u00e4 avainsana palauttaa vastauksen, joka on robotin sanakirja ja sis\u00e4lt\u00e4\u00e4 seuraavat ominaisuudet:\n - ``status`` <int> Vasteen tilakoodi.\n - ``statusText`` <str> Tilateksti vastaa tilaa, esimerkiksi OK tai INTERNAL SERVER ERROR. T\u00e4t\u00e4 ei v\u00e4ltt\u00e4m\u00e4tt\u00e4 ole saatavilla kaikille selaimille.\n - ``body`` <dict | str> Vasteen runko. Jos runko voidaan j\u00e4sent\u00e4\u00e4 JSON-objektiksi, se palautetaan Pythonin sanakirjana, muuten se palautetaan merkkijonona.\n - ``headers`` <dict> Sanakirja, joka sis\u00e4lt\u00e4\u00e4 kaikki vastausotsikot.\n - ``ok`` <bool> Oliko pyynt\u00f6 onnistunut, eli ``status`` on alueella 200-299.\n - ``request`` <dict> sis\u00e4lt\u00e4\u00e4 ``method`` <str>, ``headers`` <dict> ja ``postData`` <dict> | <str>\n - ``url`` <str> pyynn\u00f6n URL.\n\n | =Argumentit= | =Kuvaus= |\n | ``matcher`` | Pyynt\u00f6-URL-vastaaja. Se voi olla merkkijono (Glob-kuvio), JavaScript RegExp (kapseloitu / seuraavilla lipuilla) tai JavaScript nuolifunktio, joka vastaanottaa Vaste-objektin ja palauttaa boolean-arvon. Oletuksena (tyhj\u00e4ll\u00e4 merkkijonolla) vastaa ensimm\u00e4iseen saatavilla olevaan pyynt\u00f6\u00f6n. Lis\u00e4tietoja l\u00f6ytyy Playwrightin [https://playwright.dev/docs/api/class-page#page-wait-for-response|page.waitForResponse]-dokumentaatiosta. |\n | ``timeout`` | Aikakatkaisu tukee Robot Frameworkin aikamuotoa. K\u00e4ytt\u00e4\u00e4 oletusaikakatkaisua, jos ei ole asetettu. |\n\n *VAROITUS:* Ennen selainkirjaston versiota 17.0.0, ``matcher``-argumentti oli aina joko regex tai JS-funktio. Mutta regexin ei tarvinnut olla kauttaviivojen sis\u00e4ll\u00e4. Yksinkertaisin tapa siirty\u00e4 uuteen syntaksiin on lis\u00e4t\u00e4 kauttaviivat matcherin ymp\u00e4rille. Joten ``/api/get/json`` muuttuu muotoon ``//api/get/json/``.\n\n == Matcher Esimerkkej\u00e4: ==\n\n === Glob-Kuvio: ===\n\n Glob-kuvio on merkkijono, joka voi sis\u00e4lt\u00e4\u00e4 jokerimerkkej\u00e4. Seuraavat jokerimerkit ovat tuettuja:\n\n Mahdolliset jokerimerkit/kuvioinnit ovat:\n - ``*`` vastaa mink\u00e4 tahansa m\u00e4\u00e4r\u00e4n merkkej\u00e4, paitsi ``/``\n - ``**`` vastaa mink\u00e4 tahansa m\u00e4\u00e4r\u00e4n merkkej\u00e4, mukaan lukien ``/``\n - ``?`` vastaa yht\u00e4 merkki\u00e4, paitsi ``/``\n - ``[abc]`` vastaa yht\u00e4 merkki\u00e4 hakasissa (t\u00e4ss\u00e4 esimerkiss\u00e4 ``a``, ``b`` tai ``c``)\n - ``[a-z]`` vastaa yht\u00e4 merkki\u00e4 alueella (t\u00e4ss\u00e4 esimerkiss\u00e4 ``a``:sta ``z``:\u00e4\u00e4n)\n - ``{foo,bar,baz}`` vastaa yht\u00e4 merkkijonoa aaltosulkeissa (t\u00e4ss\u00e4 esimerkiss\u00e4 ``foo``, ``bar`` tai ``baz``)\n\n Esimerkki:\n | `Wait For Response` **/api/get/text # vastaa mihin tahansa pyynt\u00f6\u00f6n, jonka URL p\u00e4\u00e4ttyy /api/get/text. esimerkki: https://browser.fi/api/get/text\n\n === RegExp: ===\n\n S\u00e4\u00e4nn\u00f6lliset lausekkeet ovat JavaScriptin s\u00e4\u00e4nn\u00f6llisi\u00e4 lausekkeita, jotka on kapseloitu ``/`` ja niiden per\u00e4ss\u00e4 voi olla valinnaisia lippuja:\n Ole tietoinen siit\u00e4, ett\u00e4 kenoviivat on pakko karkottaa Robot Frameworkissa, esimerkiksi ``\\\\w`` sen sijaan ett\u00e4 ``\\w``.\n Lis\u00e4tietoja s\u00e4\u00e4nn\u00f6llisist\u00e4 lausekkeista l\u00f6ytyy [https://regex101.com|regex101]-sivustolta.\n\n Esimerkki:\n | `Wait For Response` /http://\\\\w+:\\\\d+/api/get/text/i # vastaa mihin tahansa pyynt\u00f6\u00f6n, jonka URL p\u00e4\u00e4ttyy /api/get/text ja sis\u00e4lt\u00e4\u00e4 http://:n j\u00e4lkeen mink\u00e4 tahansa sanan ja portin. esimerkki: http://localhost:8080/api/get/text\n\n === JavaScript nuolifunktio: ===\n\n JavaScriptin nuolifunktiot ovat nimett\u00f6mi\u00e4 JavaScript-funktioita, jotka saavat\n [https://playwright.dev/docs/api/class-response|Response]-objektin ja palauttavat boolean-arvon.\n\n Esimerkki:\n | `Wait For Response` response => response.url() === 'http://localhost/api/post' && response.status() === 200 # vastaa mihin tahansa vastaukseen, jossa URL on http://localhost/api/post ja tilakoodi on 200\n\n == Robotin esimerkit: ==\n\n Synkroninen esimerkki:\n | `Click` \\#delayed_request # Luo vastauksen, jota pit\u00e4\u00e4 odottaa ennen seuraavia toimia\n | `Wait For Response` matcher=/http://\\\\w+:\\\\d+/api/get/text/i\n | `Click` \\#save\n\n Asynkroninen esimerkki:\n | ${promise} = `Promise To` `Wait For Response` timeout=60s\n | `Click` \\#delayed_request # Luo vastauksen, jota pit\u00e4\u00e4 odottaa ennen tallennuspainikkeen painamista.\n | `Click` \\#next\n | `Wait For` ${promise} # Odottaa vastausta\n | `Click` \\#save\n\n JavaScript-funktioesimerkki:\n | `Click` \\#delayed_request # Luo vastauksen, jota pit\u00e4\u00e4 odottaa ennen tallennuspainikkeen painamista.\n | `Wait For Response` [https://playwright.dev/docs/api/class-response/|response] => response.url().endsWith('json') && response.request().method() === 'GET'\n\n [https://forum.robotframework.org/t//4349|Kommentoi >>]\n ",
"sha256": "023c7076949908261b645d84bbfd8962e08815561827a1144d6832e84ab74315"
},
"wait_until_network_is_idle": {
"name": "odota_kunnes_verkko_on_k\u00e4ytt\u00e4m\u00e4tt\u00f6m\u00e4n\u00e4",
"doc": "*DEPRECATED!!* K\u00e4yt\u00e4 sen sijaan `Wait For Load State`.\n\n Jos sinulla on:\n | `Wait Until Network Is Idle` timeout=3s\n niin vaihda se seuraavaan:\n | `Wait For Load State` networkidle timeout=3s\n\n Odottaa, kunnes sivulla on ollut v\u00e4hint\u00e4\u00e4n yksi tapaus, jossa ei ole ollut verkko-liikennett\u00e4 500 ms:n ajan latauksen j\u00e4lkeen.\n\n Ei odota verkko-liikennett\u00e4, joka ei ole alkanut 500 ms sis\u00e4ll\u00e4 sivun latauksesta.\n\n | =Argumentit= | =Kuvaus= |\n | ``timeout`` | Aikakatkaisu tukee Robot Frameworkin aikamuotoa. K\u00e4ytt\u00e4\u00e4 selaimen aikakatkaisua, jos sit\u00e4 ei ole asetettu. |\n\n Esimerkki:\n | `Siirry` ${URL}\n | `Wait Until Network Is Idle` timeout=3s\n\n [https://forum.robotframework.org/t//4350|Kommentoi >>]\n ",
"sha256": "ae782aa7c80a28e7eab78ff6b83576eb9961948b01f1fd79e1f3e5c45e188eb0"
},
"emulate_media": {
"name": "jäljitä_media",
"doc": "Muuttaa CSS-mediatyypin.\n\n ``CSS-mediatyyppi`` muutetaan media-argumentin kautta,\n ja/tai 'prefers-colors-scheme' mediaominaisuuden avulla,\n käyttämällä colorScheme-argumenttia.\n\n Hyödyllinen, kun halutaan renderöidä sivu oikeassa muodossa ennen kuin käytetään\n `Tallenna sivu PDF:nä` -avainsanaa.\n ",
"sha256": "e27639916552a9562e13ef56dca32592c3c7013e9a44b5e48cc0fb3da8e8bbde"
},
"save_page_as_pdf": {
"name": "tallenna_sivu_pdfna",
"doc": "Tallentaa sivun PDF-muodossa.\n\n PDF:n tallentaminen on tällä hetkellä tuettu vain Chromiummissa headless-tilassa.\n\n | =Argumentit= | =Kuvaus= |\n | ``polku`` | Mihin PDF tallennetaan, jos ei ole täysi polku, tallennetaan ${OUTPUT_DIR} -hakemistoon. |\n | ``näytäOtsikkoAlatunniste`` | Näyttää otsikon ja alatunnisteen. Oletuksena False. |\n | ``alatunnisteMalli`` | HTML-malli tulostuksen alatunnisteelle. Pitäisi käyttää samaa muotoa kuin ``otsikkoMalli``. |\n | ``muoto`` | Paperin muoto. Jos asetettu, se ohittaa leveys- ja korkeusasetukset. Oletuksena 'Letter'. |\n | ``otsikkoMalli`` | HTML-malli tulostuksen otsikolle. Katso yksityiskohtainen selitys alla. |\n | ``korkeus`` | Paperin korkeus, hyväksyy yksiköillä merkittyjä arvoja. |\n | ``vaaka`` | Paperin suunta. Oletuksena false (pysty). |\n | ``marginaali`` | Määrittää PDF-marginaalit, katso `PdfMarging` lisätietoja varten. |\n | ``sisällysluettelo`` | Upotetaanko asiakirjan sisällysluettelo PDF:ään. Oletuksena false. |\n | ``sivualueet`` | Tulostettavat sivualueet, esim. '1-5, 8, 11-13'. Oletuksena tyhjä merkkijono, mikä tarkoittaa kaikkien sivujen tulostamista. |\n | ``preferoiCSSSivukokoa`` | Antaa sivulle määritellyn CSS @page -koon etusijan leveys-, korkeus- tai muotoasetuksiin nähden. Oletuksena false, mikä skaalaa sisällön paperikokoon sopivaksi. |\n | ``tulostaTausta`` | Tulosta taustagrafiikat. Oletuksena false. |\n | ``skaala`` | Verkkosivun renderöinnin skaalaus. Oletuksena 1. Skaalan arvojen tulee olla välillä 0.1 ja 2. |\n | ``tägitetty`` | Luodaanko tägitetty (esteetön) PDF. Oletuksena false. |\n | ``leveys`` | Paperin leveys, hyväksyy yksiköillä merkittyjä arvoja. |\n\n ``otsikkoMalli`` ja ``alatunnisteMalli`` tulee olla kelvollista HTML-koodia seuraavilla luokilla, joihin tulostusarvot injektoidaan:\n - `date` tulostuspäivämäärä\n - `title` asiakirjan otsikko\n - `url` asiakirjan sijainti\n - `pageNumber` nykyinen sivunumero\n - `totalPages` asiakirjan kokonaismäärä sivuja\n\n Kaikki mahdolliset yksiköt ovat:\n - `px` - pikseli\n - `in` - tuuma\n - `cm` - senttimetri\n - `mm` - millimetri\n\n otsikkoMalli ja alatunnisteMalli -merkkaus sisältävät seuraavat rajoitukset: > 1.\n Skripti-tagit malleissa eivät suoriteta. > 2. Sivutyylit eivät ole näkyvissä malleissa.\n\n Lisätietoja löytyy [https://playwright.dev/docs/api/class-page#page-pdf|Playwright PDF -dokumentaatiosta]\n\n Esimerkki:\n | `Uusi Selain` | Chromium | headless=True |\n | `Uusi Sivu` | ${URL} |\n | `Jäljitä Media` | media=screen |\n | ${pdf_polku} = | `Tallenna Sivu PDF:nä` | sivu.pdf |\n | Should Be Equal | ${pdf_polku} | ${OUTPUT_DIR}${/}sivu.pdf |\n ",
"sha256": "521c0e0958160ab27df554a1edea20119e33d64b2ee2e6a5f468e1434881b9cb"
},
"register_keyword_to_run_on_failure": {
"name": "rekister\u00f6i_avainsana_joka_suoriteaan_ep\u00e4onnistunisen_kohdalla",
"doc": "Asettaa avainsanan suoritettavaksi, kun selaimen avainsana ep\u00e4onnistuu.\n\n | =Argumentit= | =Kuvaus= |\n | ``avainsana`` | Avainsanan nimi, joka suoritetaan, jos selaimen avainsana ep\u00e4onnistuu. Voit k\u00e4ytt\u00e4\u00e4 mit\u00e4 tahansa saatavilla olevaa avainsanaa, mukaan lukien k\u00e4ytt\u00e4j\u00e4n m\u00e4\u00e4rittelemi\u00e4 avainsanoja tai avainsanoja muista kirjastoista. |\n | ``*args`` | Avainsanaan liittyv\u00e4t argumentit, jos niit\u00e4 on. |\n | ``scope`` | Sovellusala m\u00e4\u00e4ritt\u00e4\u00e4 t\u00e4m\u00e4n asetuksen k\u00e4ytt\u00f6ajan. Saatavilla olevat arvot ovat ``Global``, ``Suite`` tai ``Test`` / ``Task``. Katso lis\u00e4tietoja kohdasta `Scope Settings`. |\n\n Alkuper\u00e4inen avainsana asetetaan, kun kirjastoa `tuodaan`, ja\n oletusarvoinen k\u00e4ytetty avainsana on `Take Screenshot`.\n Kuvankaappaus ep\u00e4onnistumistilanteessa on eritt\u00e4in hy\u00f6dyllinen\n ominaisuus, mutta huomaa, ett\u00e4 se voi hidastaa suoritusta.\n\n Voit k\u00e4ytt\u00e4\u00e4 merkkijonoa ``NONE`` tai mit\u00e4 tahansa muuta robotin virheellist\u00e4 nime\u00e4,\n rekister\u00f6id\u00e4ksesi t\u00e4m\u00e4n toiminnallisuuden pois p\u00e4\u00e4lt\u00e4,\n kokoaikaisesti, samoin kuin Pythonin ``None``.\n\n T\u00e4m\u00e4 avainsana palauttaa olion, joka sis\u00e4lt\u00e4\u00e4\n aiemmin rekister\u00f6idyn ep\u00e4onnistumisen avainsanan. Paluuarvoa voidaan aina k\u00e4ytt\u00e4\u00e4\n alkuper\u00e4isen arvon palauttamiseen my\u00f6hemmin. Palautettu olio sis\u00e4lt\u00e4\u00e4\n avainsanan nimen ja mahdolliset argumentit, jotka on annettu avainsanalle.\n\n Jos `Take Screenshot` -avainsana, ilman argumentteja, rekister\u00f6id\u00e4\u00e4n suoritettavaksi ep\u00e4onnistumisen yhteydess\u00e4,\n silloin tiedostonimiargumentin oletusarvoa ei k\u00e4ytet\u00e4 kuvakaappauksen tiedostonimeksi.\n Sen sijaan k\u00e4ytet\u00e4\u00e4n muotoa ${TEST NAME}_FAILURE_SCREENSHOT_{index} tiedostonimen\u00e4.\n Jos haluat k\u00e4ytt\u00e4\u00e4 tiedostonimen argumentin oletusarvoa, k\u00e4yt\u00e4\n arvona robotframework-browser-screenshot-{index}.\n\n Esimerkki:\n | `Register Keyword To Run On Failure` Take Screenshot # K\u00e4ytt\u00e4\u00e4 ${TEST NAME}_FAILURE_SCREENSHOT_{index} tiedostonimen\u00e4\n | `Register Keyword To Run On Failure` Take Screenshot robotframework-browser-screenshot-{index} # K\u00e4ytt\u00e4\u00e4 robotframework-browser-screenshot-{index} tiedostonimen\u00e4\n | ${edellinen avainsana}= `Register Keyword To Run On Failure` NONE # Poistaa k\u00e4yt\u00f6st\u00e4 ep\u00e4onnistumisen j\u00e4lkeisen toiminnallisuuden.\n | `Register Keyword To Run On Failure` ${edellinen avainsana}\n | `Register Keyword To Run On Failure` Take Screenshot fullPage=True\n | `Register Keyword To Run On Failure` Take Screenshot failure-{index} fullPage=True\n\n [https://forum.robotframework.org/t//4316|Kommentti >>]\n ",
"sha256": "c636b19a4d55ff9dc46598d128af42f045435cde3d3168644a614d77903eb521"
},
"set_strict_mode": {
"name": "aseta_tiukka_tila",
"doc": "Hallitsee kirjaston tiukan tilan.\n\n | =Argumentit= | =Kuvaus= |\n | ``mode`` | Kun asetetaan arvoksi ``True``, avainsanat, jotka etsiv\u00e4t elementtej\u00e4, k\u00e4ytt\u00e4v\u00e4t Playwrightin [https://playwright.dev/docs/api/class-page#page-query-selector|tiukkaa tilaa]. Avainsana muuttaa kirjaston tiukan tilan arvoa ja palauttaa my\u00f6s edellisen tiukan tilan arvon. |\n | ``scope`` | Sovellusala m\u00e4\u00e4ritt\u00e4\u00e4 t\u00e4m\u00e4n asetuksen k\u00e4ytt\u00f6ajan. Saatavilla olevat arvot ovat ``Global``, ``Suite`` tai ``Test`` / ``Task``. Katso lis\u00e4tietoja kohdasta `Scope`. |\n\n\n Esimerkki:\n | ${vanha_tila} = Set Strict Mode False\n | Get Text //input # Ei ep\u00e4onnistu, jos valitsin osoittaa yhteen tai useampaan elementtiin\n | Set Strict Mode ${vanha_tila}\n\n [https://forum.robotframework.org/t//4332|Kommentti >>]\n ",
"sha256": "3733f2a6d77bfaa3ef92fa6ca8e39cb33bf5fa5097e6d215cd23205368862a54"
},
"promise_to": {
"name": "lupaa",
"doc": "K\u00e4\u00e4ri Browser-kirjaston avainsanan ja tee siit\u00e4 lupaus.\n\n Luvattu avainsana suoritetaan ja k\u00e4ynnistet\u00e4\u00e4n taustalla.\n Testin suoritus jatkuu ilman odotusta, ett\u00e4 ``kw`` on valmis.\n\n Palauttaa viittauksen luvattuun avainsanaan.\n\n ``kw`` Avainsana, joka toimii asynkronisesti taustalla.\n\n | =Argumentit= | =Kuvaus= |\n | ``kw`` | Avainsana, joka toimii asynkronisesti taustalla. |\n | ``*args`` | Avainsanan argumentit normaalisti k\u00e4ytettyn\u00e4. |\n\n Esimerkki:\n | ${lupaus}= `Promise To` Wait For Response matcher= timeout=3\n | `Click` \\#delayed_request\n | ${sis\u00e4lt\u00f6}= `Wait For` ${lupaus}\n\n [https://forum.robotframework.org/t//4312|Kommentti >>]\n ",
"sha256": "574276e70dc6f0f761e03e10fa70b246ec4c3a16660dc97b970b54ce6ec42d2b"
},
"promise_to_upload_file": {
"name": "lupaa_ladata_tiedoston",
"doc": "Palauttaa lupauksen, joka ratkeaa, kun tiedosto ``path`` on ladattu.\n\n Ep\u00e4onnistuu, jos tiedoston lataus ei tapahdu aikarajan kuluessa.\n\n Lataa tiedosto ``path`` seuraavaan sivulla olevaan tiedostovalitsimeen.\n\n | =Argumentit= | =Kuvaus= |\n | ``path`` | Polku ladattavaan tiedostoon. |\n\n Esimerkkik\u00e4ytt\u00f6:\n\n | ${lupaus}= `Promise To Upload File` ${CURDIR}/test_upload_file.txt\n | `Click` id=open_file_chooser_button\n | ${lataustulos}= `Wait For` ${lupaus}\n\n Vaihtoehtoisesti voit k\u00e4ytt\u00e4\u00e4 `Upload File By Selector` -avainsanaa.\n\n [https://forum.robotframework.org/t//4313|Kommentti >>]\n ",
"sha256": "ee4211787808d5aab09ed58e04977b79f6ae2e1a1038492d4a287b651088d950"
},
"promise_to_wait_for_download": {
"name": "lupaa_odottaa_latausta",
"doc": "Palauttaa lupauksen, joka odottaa seuraavaa lataustapahtumaa sivulla.\n\n Latausten mahdollistamiseksi kontekstin acceptDownloads -asetuksen on oltava tosi.\n\n Oletuspolulla ladatut tiedostot poistetaan, kun lataus tapahtui.\n\n Jos selain on yhteydess\u00e4 et\u00e4isesti Connect To Browser -avainsanan avulla, saveAs on asetettava tallentaaksesi sen paikallisesti selaimen k\u00e4ytt\u00f6ymp\u00e4rist\u00f6\u00f6n!\n\n | =Argumentit= | =Kuvaus= |\n | saveAs | M\u00e4\u00e4ritt\u00e4\u00e4 polun, johon tiedosto tallennetaan pysyv\u00e4sti. Tiedosto tallennetaan my\u00f6s v\u00e4liaikaisesti playwright-kontekstin oletuslataussijaintiin. Jos tyhj\u00e4, k\u00e4ytet\u00e4\u00e4n generoitua ainutlaatuista polkua (GUID), ja tiedosto poistetaan, kun konteksti suljetaan. |\n | wait_for_finished | Jos tosi, lupaus odottaa latauksen valmistumista. Jos ep\u00e4tosi, lupaus ratkeaa heti latauksen k\u00e4ynnistytty\u00e4. |\n | download_timeout | Maksimiaika latauksen odottamiseen, jos wait_for_finished on asetettu True-arvoon. Jos lataus ei valmistu t\u00e4n\u00e4 aikana, avainsana ep\u00e4onnistuu. |\n\n Avainsana palauttaa tyyppisen DownloadInfo -tyyppisen sanakirjan, joka sis\u00e4lt\u00e4\u00e4 ladatun tiedoston polun\n ja ehdotetun tiedostonimen sek\u00e4 tilan ja latausID:n.\n Esimerkki:\n | {\n | 'saveAs': '/tmp/robotframework-browser/downloads/2f1b3b7c-1b1b-4b1b-9b1b-1b1b1b1b1b1b',\n | 'suggestedFilename': 'downloaded_file.txt'\n | }\n\n Avainsanalla New Browser on downloadsPath -asetus, jota voidaan k\u00e4ytt\u00e4\u00e4 oletuslataushakemiston asettamiseen.\n Jos saveAs on asetettu suhteelliseksi poluksi, tiedosto tallennetaan suhteessa selaimen downloadsPath-asetukseen tai jos sit\u00e4 ei ole asetettu, suhteessa\n Playwrightin ty\u00f6hakemistoon. Jos saveAs on asetettu absoluuttiseksi poluksi, tiedosto tallennetaan siihen absoluuttiseen polkuun riippumatta downloadsPath:sta.\n\n Jos halutaan k\u00e4ytt\u00e4\u00e4 latauksen URL-osoitetta, Download-avainsana voi olla yksinkertaisempi vaihtoehto tiedoston lataamiseen.\n\n Odotettu lupaus palauttaa sanakirjan, joka sis\u00e4lt\u00e4\u00e4 saveAs- ja suggestedFilename-avaimet. SaveAs sis\u00e4lt\u00e4\u00e4\n tiedoston tallennuspaikan ja suggestedFilename sis\u00e4lt\u00e4\u00e4 latauksen ehdotetun nimen.\n Ehdotettu tiedostonimi lasketaan yleens\u00e4 selaimen toimesta Content-Disposition-vastausotsikosta\n tai latausominaisuudesta. Katso spesifikaatiosta [https://html.spec.whatwg.org/#downloading-resources|whatwg].\n Eri selaimet voivat k\u00e4ytt\u00e4\u00e4 eri logiikkaa sen laskemiseen.\n\n K\u00e4ytt\u00f6esimerkki:\n | New Context acceptDownloads=True\n | New Page ${LOGIN_URL}\n | ${dl_promise} Promise To Wait For Download /path/to/download/file.name\n | Click id=file_download\n | ${file_obj}= Wait For ${dl_promise}\n | File Should Exist ${file_obj}[saveAs]\n | Should Be True ${file_obj.suggestedFilename}\n\n [https://forum.robotframework.org/t//4314|Kommentti >>]\n ",
"sha256": "1491237f62960df85af131ddd3568b337ba1842ee67f0e3babd80fdaabf6d9ea"
},
"wait_for": {
"name": "odottaa",
"doc": "Odottaa lupausten suorittamista ja palauttaa niist\u00e4 tulokset.\n\nPalauttaa yhden tuloksen, jos odotetaan yht\u00e4 lupausta. Muussa tapauksessa palauttaa tulosten taulukon. Jos yksi ep\u00e4onnistuu, t\u00e4m\u00e4 avainsana ep\u00e4onnistuu.\n\nKatso lis\u00e4tietoja lupauksista kohdasta `Promise To`.\n\nYleist\u00e4 odottamista elementtien suhteen katso kohdasta `Implicit waiting`.\n\n| =Argumentit= | =Kuvaus= |\n| ``lupaukset`` | Odottavat lupaukset. |\n\nEsimerkki:\n| ${lupaus}= | `Promise To` | `Wait For Response` | matcher= | timeout=3 |\n| `Click` | \\#viiv\u00e4stynyt_pyynt\u00f6 |\n| ${sis\u00e4lt\u00f6}= | `Wait For` | ${lupaus} |\n\n[https://forum.robotframework.org/t//4342|Kommentti >>]\n",
"sha256": "adc98aefcfdb617134bf43f097c95b251a74a89ad0d2cd0dcb2bf87bc17eb227"
},
"wait_for_all_promises": {
"name": "odota_kaikkia_lupauksia",
"doc": "Odottaa kaikkien lupausten suorittamista.\n\nJos yksi lupaus ep\u00e4onnistuu, t\u00e4m\u00e4 avainsana ep\u00e4onnistuu.\n\nEsimerkki:\n| `Promise To` | Wait For Response | matcher= | timeout=3 |\n| `Click` | \\#viiv\u00e4stynyt_pyynt\u00f6 |\n| `Wait For All Promises` |\n\n[https://forum.robotframework.org/t//4344|Kommentti >>]\n",
"sha256": "630c309ca259f1210fc2d55fa8740987f169b1e832e2db01c03afbc67b41240b"
},
"wait_for_condition": {
"name": "odota_ehtoa",
"doc": "Odottaa ehtoa, joka on m\u00e4\u00e4ritelty selaimen hakijan avainsanoilla tulevaksi todeksi.\n\nT\u00e4m\u00e4 avainsana on pohjimmiltaan vain k\u00e4\u00e4re ymp\u00e4rill\u00e4mme oleville v\u00e4itt\u00e4m\u00e4avainsanoille, mutta aikarajan kanssa. Sit\u00e4 voidaan k\u00e4ytt\u00e4\u00e4 odottamaan mit\u00e4 tahansa, mik\u00e4 voidaan my\u00f6s vahvistaa v\u00e4itt\u00e4m\u00e4avainsanoillamme.\n\nVerrattuna Robot Frameworkin `Wait Until Keywords Succeeds` -avainsanaan, t\u00e4m\u00e4 avainsana on helpommin luettava ja k\u00e4ytett\u00e4v\u00e4, mutta se on rajoitettu selaimen kirjaston v\u00e4itt\u00e4m\u00e4avainsanoihin.\n\n| =Argumentit= | =Kuvaus= |\n| ``ehto`` | Ehto, m\u00e4\u00e4ritelty selaimen hakijan avainsanoilla ilman sanaa ``Get``. |\n| ``*args`` | Argumentit, jotka v\u00e4litet\u00e4\u00e4n ehtoavainsanalle. |\n| ``aikakatkaisu`` | Aikakatkaisu odottaa ehtoa tulemasta todeksi. K\u00e4ytt\u00e4\u00e4 kirjaston oletusaikakatkaisua, jos sit\u00e4 ei ole asetettu. |\n| ``viesti`` | Korvaa oletusvirheviestin. |\n\n\nHelpoin tapa k\u00e4ytt\u00e4\u00e4 t\u00e4t\u00e4 avainsanaa on aluksi aloittaa v\u00e4itt\u00e4m\u00e4avainsanalla, jossa on v\u00e4itt\u00e4m\u00e4 kuten: `Get Text`\n\nAloitus:\n| `Get Text` id=status_bar contains Done\n\nSitten korvaat sanan `Get` sanalla `Wait For Condition` ja tarvittaessa lis\u00e4\u00e4t aikakatkaisuargumentin.\n\nLoppu:\n| `Wait For Condition` Teksti id=status_bar contains Done\n\n\nEsimerkki k\u00e4yt\u00f6st\u00e4:\n| `Wait For Condition` Elementtien tilat id=cdk-overlay-0 == irtikytkeytynyt\n| `Wait For Condition` Elementtien tilat //h1 contains n\u00e4kyv\u00e4 muokattavissa k\u00e4yt\u00f6ss\u00e4 timeout=2 s\n| `Wait For Condition` Otsikko tulisi alkaa Robot\n| `Wait For Condition` Url tulisi p\u00e4\u00e4tty\u00e4 robotframework.org\n\n[https://forum.robotframework.org/t//5269|Kommentti >>]\n",
"sha256": "85b36a397ce6268db4bb2a7aeb63a0bd28567a5c887f5878bb6f466cc7a60f27"
},
"wait_for_elements_state": {
"name": "odota_elementtien_tilaa",
"doc": "Odottaa elementti\u00e4, joka l\u00f6ydet\u00e4\u00e4n ``valitsimen`` mukaan t\u00e4ytt\u00e4m\u00e4\u00e4n tilaoptio.\n\nHuomaa, ett\u00e4 selainkirjastolla on `Implisiittinen odotus` -mekanismit. Tilanteesta riippuen et ehk\u00e4 tarvitse k\u00e4ytt\u00e4\u00e4 `Wait for Elements State`.\n\nTilaoptiot voivat olla joko ilmesty\u00e4/poistua domista tai tulla n\u00e4kyv\u00e4ksi/piilotetuksi.\nJos hetkell\u00e4, kun avainsanaa kutsutaan, valitsin jo t\u00e4ytt\u00e4\u00e4 ehdot, avainsana palauttaa v\u00e4litt\u00f6m\u00e4sti.\n\nJos valitsin ei t\u00e4yt\u00e4 ehtoja aikakatkaisun sis\u00e4ll\u00e4, avainsana EP\u00c4ONNISTUU.\n\n| =Argumentit= | =Kuvaus= |\n| ``valitsin`` | Vastaavan kohteen valitsin. Katso tarkemmat tiedot valitsimista kohdasta `Elementtien l\u00f6yt\u00e4minen`. |\n| ``tila`` | Katso `ElementState` selitys. |\n| ``aikakatkaisu`` | k\u00e4ytt\u00e4\u00e4 kirjaston oletusaikakatkaisua, jos sit\u00e4 ei ole asetettu. |\n| ``viesti`` | korvaa oletusvirheviestin. ``Viesti``-argumentti hyv\u00e4ksyy `{valitsin}`, `{toiminto}`, ja `{aikakatkaisu}` [https://docs.python.org/3/library/stdtypes.html#str.format|muoto] -optiot. `{toiminto}` -muotoilija on sama kuin ``tila``-argumentin arvo. |\n\nAvainsana k\u00e4ytt\u00e4\u00e4 tiukkaa tilaa, katso `Elementtien l\u00f6yt\u00e4minen` lis\u00e4tietoja tiukasta tilasta.\n\nEsimerkki:\n| `Wait For Elements State` //h1 n\u00e4kyv\u00e4 timeout=2 s\n| `Wait For Elements State` //hi kohdistunut 1s\n\n[https://forum.robotframework.org/t//4345|Kommentti >>]\n",
"sha256": "6f912e0fc80359ec925846ce445e281c53bd09a41ee507d079a6b31e23715fa3"
},
"wait_for_function": {
"name": "odota_toimintoa",
"doc": "Kyselyt JavaScript-lauseketta tai -funktiota selaimessa, kunnes se palauttaa (JavaScriptin) tosiarvon.\n\n| =Argumentit= | =Kuvaus= |\n| ``funktio`` | Kelpo JavaScript-funktio tai JavaScript-funktion runko. Esimerkiksi ``() => true`` ja ``true`` k\u00e4ytt\u00e4ytyv\u00e4t samalla tavalla. |\n| ``valitsin`` | Valitsin, joka on selvitett\u00e4v\u00e4 ja v\u00e4litett\u00e4v\u00e4 JavaScript-funktiolle. T\u00e4m\u00e4 on ensimm\u00e4inen argumentti, jonka funktio saa. Jos annetaan valitsin, funktio on v\u00e4ltt\u00e4m\u00e4t\u00f6n, jossa on argumentti elementtikahvaa varten. Esimerkiksi ``(element) => document.activeElement === element`` Katso tarkemmat tiedot valitsimista kohdasta `Elementtien l\u00f6yt\u00e4minen`. |\n| ``kysely`` | Oletusarvoinen kyselyarvo \"raf\" kyselyt takaisin ``requestAnimationFrame`` -toiminnon avulla. Mik\u00e4 tahansa muu arvo kyselylle tulkitaan robottikehyksen aikana v\u00e4liaikana kyselyjen v\u00e4lill\u00e4. |\n| ``aikakatkaisu`` | k\u00e4ytt\u00e4\u00e4 kirjaston oletusaikakatkaisua, jos sit\u00e4 ei ole asetettu. |\n| ``viesti`` | korvaa oletusvirheviestin. ``Viesti``-argumentti hyv\u00e4ksyy `{valitsin}`, `{funktio}`, ja `{aikakatkaisu}` [https://docs.python.org/3/library/stdtypes.html#str.format|muoto] -optiot. |\n\nAvainsana k\u00e4ytt\u00e4\u00e4 tiukkaa tilaa, katso `Elementtien l\u00f6yt\u00e4minen` lis\u00e4tietoja tiukasta tilasta.\n\nEsimerkki k\u00e4yt\u00f6st\u00e4:\n| ${lupaus} `Lupausta Varten` `Wait For Function` elementti => element.style.width==\"100%\" valitsin=\\#edistyksen_palkki aikakatkaisu=4s\n| `Click` \\#edistyksen_palkki\n| `Wait For` ${lupaus}\n\n[https://forum.robotframework.org/t//4346|Kommentti >>]\n",
"sha256": "8ee5e83966f9d701b2461b3956226847b9439afbcc8c2c11f5812be668ea6c96"
},
"wait_for_load_state": {
"name": "odota_lataustilaa",
"doc": "Odottaa, ett\u00e4 sivu saavuttaa vaaditun lataustilan.\n\nT\u00e4m\u00e4 ratkaisee, kun sivu saavuttaa vaaditun lataustilan, oletusarvoisesti lataa.\nNavigoinnin on t\u00e4ytynyt tapahtua, kun t\u00e4t\u00e4 metodia kutsutaan. Jos nykyinen asiakirja on jo\nsaavuttanut vaaditun tilan, ratkaisee v\u00e4litt\u00f6m\u00e4sti.\n\n| =Argumentit= | =Kuvaus= |\n| ``tila`` | Odotettava tila, oletusarvoisesti `lataus`. Mahdollisia arvoja ovat `lataus|domcontentloaded|verkkohiljainen` |\n| ``aikakatkaisu`` | Aikakatkaisu tukee Robottikehyksen aikamuotoa. K\u00e4ytt\u00e4\u00e4 selaimen aikakatkaisua, jos ei ole asetettu. |\n\nJos tila on jo saavutettu nykyisen asiakirjan latauksen aikana, taustalla oleva Playwright ratkaisee\nv\u00e4litt\u00f6m\u00e4sti. Voi olla yksi seuraavista:\n\n| 'lataus' - odota lataustapahtuman laukeamista.\n| 'domcontentloaded' - odota DOMContentLoaded-tapahtuman laukeamista.\n| 'verkkohiljainen' - EI SUOSITELTU odota, kunnes verkkoyhteyksi\u00e4 ei ole v\u00e4hint\u00e4\u00e4n 500 ms.\n\nEsimerkki:\n| `Siirry` ${URL}\n| `Odota Lataustilaa` domcontentloaded aikakatkaisu=3s\n",
"sha256": "c9744a0a5854af0268e7645e27f4f633e0582cdcff9cd959763a09ec9ba3ad2d"
},
"local_storage_clear": {
"name": "paikallinen_s\u00e4ilytys_tyhjenn\u00e4",
"doc": "Poistaa kaikki tallennetut tiedot paikallisesta tallennuksesta.\n\n| =Argumentit= | =Kuvaus= |\n| ``kehysvalitsin`` | Jos t\u00e4m\u00e4 valitsin osoittaa elementtiin iframe-kehikon sis\u00e4ll\u00e4, k\u00e4ytet\u00e4\u00e4n kyseisen kehyksen LocalStoragea. Esimerkki: ``iframe[name=\"test\"] >>> body`` |\n\nEsimerkki:\n| `Paikallinen Tallennus Aseta Kentt\u00e4` Foo palkki\n| `Paikallinen Tallennus Tyhjenn\u00e4`\n| ${kohde} = `Paikallinen Tallennus Hae Kentt\u00e4` Foo\n| Tulee Olla Yht\u00e4 Suuri ${kohde} ${Ei mit\u00e4\u00e4n}\n\n[https://forum.robotframework.org/t//4299|Kommentti >>]\n",
"sha256": "6d1f13aabb6c05ca316e25ca06412f697667feca15f3313ae73074131f0945b2"
},
"local_storage_get_item": {
"name": "paikallinen_s\u00e4ilytys_hae_tuote",
"doc": "Hakee tallennetut tiedot paikallisesta tallennuksesta.\n\n| =Argumentit= | =Kuvaus= |\n| ``avain`` | Nimetty avain tallennuksessa olevaan kohteeseen. |\n| ``v\u00e4itt\u00e4m\u00e4operaattori`` | V\u00e4itt\u00e4m\u00e4operaattori, jota k\u00e4ytet\u00e4\u00e4n. Katso lis\u00e4tietoja kohdasta `V\u00e4itt\u00e4m\u00e4t`. |\n| ``v\u00e4itt\u00e4m\u00e4n_odotettu`` | Odotettu arvo, jota verrataan. |\n| ``viesti`` | Mukautettu virhesanoma k\u00e4ytett\u00e4v\u00e4ksi. |\n| ``kehysvalitsin`` | Jos t\u00e4m\u00e4 valitsin osoittaa elementtiin iframe-kehikon sis\u00e4ll\u00e4, k\u00e4ytet\u00e4\u00e4n kyseisen kehyksen LocalStoragea. Esimerkki: ``iframe[name=\"test\"] >>> body`` |\n\nKatso `V\u00e4itt\u00e4m\u00e4t` lis\u00e4tietoja v\u00e4itt\u00e4m\u00e4argumenteista. Oletusarvo on Ei mit\u00e4\u00e4n.\n\nEsimerkki:\n| `Paikallinen Tallennus Hae Kentt\u00e4` Avain == Arvo Oma virhe\n| ${arvo} = `Paikallinen Tallennus Hae Kentt\u00e4` Avain\n\n[https://forum.robotframework.org/t//4300|Kommentti >>]\n",
"sha256": "75b5fb48542f77079bef9a106027b736767d2001bad5da9dbb4bbbb6898ff6e5"
},
"local_storage_remove_item": {
"name": "paikallinen_s\u00e4ilytys_poista_tuote",
"doc": "Poistaa tallennetun datan avaimella paikallisesta tallennuksesta.\n\n| =Argumentit= | =Kuvaus= |\n| ``avain`` | Kohteen nimi, joka poistetaan. |\n| ``kehysvalitsin`` | Jos t\u00e4m\u00e4 valitsin osoittaa elementtiin iframe-kehikon sis\u00e4ll\u00e4, k\u00e4ytet\u00e4\u00e4n kyseisen kehyksen LocalStoragea. Esimerkki: ``iframe[name=\"test\"] >>> body`` |\n\nEsimerkki:\n| `Paikallinen Tallennus Aseta Kentt\u00e4` Foo palkki\n| `Paikallinen Tallennus Poista Kentt\u00e4` Foo\n| ${kohde} = `Paikallinen Tallennus Hae Kentt\u00e4` Foo\n| Tulee Olla Yht\u00e4 Suuri ${kohde} ${Ei mit\u00e4\u00e4n}\n\n[https://forum.robotframework.org/t//4301|Kommentti >>]\n",
"sha256": "745b544188166240ed5c8b1aa82d2fa56f22f0da076bbb1b6f5123797a7b6786"
},
"local_storage_set_item": {
"name": "paikallinen_s\u00e4ilytys_aseta_tuote",
"doc": "Tallentaa tiedot paikalliseen tallennukseen.\n\n| =Argumentit= | =Kuvaus= |\n| ``avain`` | Avain, jonka alle se tulisi tallentaa. |\n| ``arvo`` | Arvo, joka tulisi tallentaa merkkijonona. |\n| ``kehysvalitsin`` | Jos t\u00e4m\u00e4 valitsin osoittaa elementtiin iframe-kehikon sis\u00e4ll\u00e4, k\u00e4ytet\u00e4\u00e4n kyseisen kehyksen LocalStoragea. Esimerkki: ``iframe[name=\"test\"] >>> body`` |\n\nEsimerkki:\n| `Paikallinen Tallennus Aseta Kentt\u00e4` Avain Arvo\n\n[https://forum.robotframework.org/t//4302|Kommentti >>]\n",
"sha256": "3f23614d1751be4f520f6fd941becce6f833144c38b857013777ced0075766b4"
},
"session_storage_clear": {
"name": "istunnon_tallennustila_tyhjenn\u00e4",
"doc": "Poistaa kaikki tallennetut tiedot istuntotallennuksesta.\n\n| =Argumentit= | =Kuvaus= |\n| ``kehysvalitsin`` | Jos t\u00e4m\u00e4 valitsin osoittaa elementtiin iframe-kehikon sis\u00e4ll\u00e4, k\u00e4ytet\u00e4\u00e4n kyseisen kehyksen SessionStoragea. Esimerkki: ``iframe[name=\"test\"] >>> body`` |\n\nEsimerkki:\n| `Istuntotallennus Aseta Kentt\u00e4` avain3 arvo3\n| `Istuntotallennus Tyhjenn\u00e4`\n| `Istuntotallennus Hae Kentt\u00e4` avain3 == ${Ei mit\u00e4\u00e4n}\n\n[https://forum.robotframework.org/t//4323|Kommentti >>]\n",
"sha256": "6a46932219c02fc63a83fe53d279b1e415c98f9ab000d410bff7cbe3c1b513e1"
},
"session_storage_get_item": {
"name": "istunnon_tallennustila_hae_tuote",
"doc": "Hakee tallennetut tiedot istuntotallennuksesta.\n\n| =Argumentit= | =Kuvaus= |\n| ``avain`` | Nimetty avain tallennuksessa olevaan kohteeseen. |\n| ``v\u00e4itt\u00e4m\u00e4operaattori`` | V\u00e4itt\u00e4m\u00e4operaattori, jota k\u00e4ytet\u00e4\u00e4n. Katso lis\u00e4tietoja kohdasta `V\u00e4itt\u00e4m\u00e4t`. |\n| ``v\u00e4itt\u00e4m\u00e4n_odotettu`` | Odotettu arvo, jota verrataan. |\n| ``viesti`` | Mukautettu virhesanoma k\u00e4ytett\u00e4v\u00e4ksi. |\n| ``kehysvalitsin`` | Jos t\u00e4m\u00e4 valitsin osoittaa elementtiin iframe-kehikon sis\u00e4ll\u00e4, k\u00e4ytet\u00e4\u00e4n kyseisen kehyksen SessionStoragea. Esimerkki: ``iframe[name=\"test\"] >>> body`` |\n\nEsimerkki:\n| `Istuntotallennus Aseta Kentt\u00e4` avain2 arvo2\n| ${kohde} = `Istuntotallennus Hae Kentt\u00e4` avain1\n| Tulee Olla Yht\u00e4 Suuri ${kohde} arvo2\n\n[https://forum.robotframework.org/t//4324|Kommentti >>]\n",
"sha256": "0528cdce474e15d10e206c6910aef3196339d2478e018dcc6851da4a8c2d971a"
},
"session_storage_remove_item": {
"name": "istunnon_tallennustila_poista_tuote",
"doc": "Poista tallennetut tiedot avaimella istuntotallennuksesta.\n\n | =Argumentit= | =Kuvaus= |\n | ``avain`` | Kohteen nimi, joka poistetaan. |\n | ``kehysvalitsin`` | Jos t\u00e4m\u00e4 valitsin osoittaa elementtiin iframe-kehikon sis\u00e4ll\u00e4, k\u00e4ytet\u00e4\u00e4n kyseisen kehyksen SessionStoragea. Esimerkki: ``iframe[name=\"test\"] >>> body`` |\n\n Esimerkki:\n | `Istuntotallennus Aseta Kentt\u00e4` avain2 arvo2\n | `Istuntotallennus Poista Kentt\u00e4` avain2\n | `Istuntotallennus Hae Kentt\u00e4` avain2 == ${Ei mit\u00e4\u00e4n}\n\n [https://forum.robotframework.org/t//4325|Kommentti >>]\n ",
"sha256": "a3a43f7eaeb3f91dee85fa67d1cc7fa1f509f1018151fa966ab00de380db44dd"
},
"session_storage_set_item": {
"name": "istunnon_tallennustila_aseta_tuote",
"doc": "Tallenna tiedot istuntotallennukseen.\n\n| =Argumentit= | =Kuvaus= |\n| ``avain`` | Avain, jonka alle se tulisi tallentaa. |\n| ``arvo`` | Arvo, joka tulisi tallentaa merkkijonona. |\n| ``kehysvalitsin`` | Jos t\u00e4m\u00e4 valitsin osoittaa elementtiin iframe-kehikon sis\u00e4ll\u00e4, k\u00e4ytet\u00e4\u00e4n kyseisen kehyksen SessionStoragea. Esimerkki: ``iframe[name=\"test\"] >>> body`` |\n\nEsimerkki:\n| `Istuntotallennus Aseta Kentt\u00e4` avain2 arvo2\n\n[https://forum.robotframework.org/t//4326|Kommentti >>]\n ",
"sha256": "68d0a9aff246c6eb1d3f448d416698d28a6be876074c26edf772ec0e17839043"
},
"__init__": {
"name": "__init__",
"doc": "Selainkirjasto on selaimen automatisointikirjasto Robot Frameworkille.\n\nT\u00e4m\u00e4 on avainsanadokumentaatio Selainkirjastolle. Lis\u00e4tietoja\nasennuksesta, tuesta ja muusta l\u00f6yd\u00e4t\n[https://github.com/MarketSquare/robotframework-playwright|projektin sivuilta].\nLis\u00e4tietoja Robot Frameworkista l\u00f6yd\u00e4t osoitteesta [https://robotframework.org|robotframework.org].\n\nSelainkirjasto k\u00e4ytt\u00e4\u00e4\n[https://github.com/microsoft/playwright|Playwright Node -moduulia]\nautomaattiseen [https://www.chromium.org/Home|Chromiumin],\n[https://www.mozilla.org/en-US/firefox/new/|Firefoxin]\nja [https://webkit.org/|WebKitin] automatisointiin yhdell\u00e4 kirjastolla.\n\n\n== Sis\u00e4llysluettelo ==\n\n%TOC%\n\n= Selain, Konteksti ja Sivu =\n\nSelainkirjasto toimii kolmella eri tasolla, jotka perustuvat toisiinsa:\n*Selain*, *Konteksti* ja *Sivu*.\n\n\n== Selaimet ==\n\n*Selain* voidaan k\u00e4ynnist\u00e4\u00e4 yhdell\u00e4 kolmesta eri moottorista: Chromiumista, Firefoxista tai Webkitist\u00e4.\n\n=== Tuetut selaimet ===\n\n| Selain | Selain t\u00e4ll\u00e4 moottorilla |\n| ``chromium`` | Google Chrome, Microsoft Edge (vuodesta 2020), Opera |\n| ``firefox`` | Mozilla Firefox |\n| ``webkit`` | Apple Safari, Mail, AppStore macOSilla ja iOS:ll\u00e4 |\n\nKoska [https://github.com/microsoft/playwright|Playwright] tulee mukana valmiiksi asennettujen\nbin\u00e4\u00e4rien kera kaikkia selaimia varten, lis\u00e4ajureita kuten geckodriveria ei tarvita.\n\nKaikki n\u00e4m\u00e4 selaimet, jotka kattavat yli 85% maailmanlaajuisesti k\u00e4ytetyist\u00e4 selaimista,\nvoivat olla testattavissa Windowsilla, Linuxilla ja macOS:lla.\nErillisi\u00e4 koneita ei en\u00e4\u00e4 tarvita.\n\nSelainprosessi k\u00e4ynnistet\u00e4\u00e4n oletuksena ``p\u00e4\u00e4tt\u00f6m\u00e4sti`` (ilman graafista k\u00e4ytt\u00f6liittym\u00e4\u00e4).\nSuorita `New Browser` m\u00e4\u00e4ritetyill\u00e4 argumenteilla, jos pyydet\u00e4\u00e4n selainta graafisella\nk\u00e4ytt\u00f6liittym\u00e4ll\u00e4 tai jos v\u00e4lityspalvelin on m\u00e4\u00e4ritett\u00e4v\u00e4.\nYhdess\u00e4 selainprosessissa voi olla useita konteksteja.\n\n\n== Kontekstit ==\n\n*Konteksti* vastaa joukkoa riippumattomia incognito-sivuja selaimessa,\njotka jakavat ev\u00e4steet, istunnot tai profiiliasetukset. Kaksi erillist\u00e4\nkontekstia eiv\u00e4t jaa ev\u00e4steit\u00e4, istuntoja tai profiiliasetuksia.\nVerrattuna Seleniumiin, n\u00e4m\u00e4 eiv\u00e4t vaadi omaa selainprosessia.\nPuhtaan ymp\u00e4rist\u00f6n saamiseksi testi voi avata vain uuden kontekstin.\nT\u00e4m\u00e4n vuoksi uudet riippumattomat selainistunnot voidaan avata\nRobot Framework Browserilla noin 10 kertaa nopeammin kuin Seleniumilla\navaamalla vain `New Context` avoimessa selaimessa.\n\nSaman sarjan sivujen jakamiseksi tilaa, k\u00e4yt\u00e4 samaa kontekstia avaamalla\nkonteksti `New Context` sarjan m\u00e4\u00e4rityksess\u00e4.\n\nKontekstikerros on hy\u00f6dyllinen esimerkiksi eri k\u00e4ytt\u00e4j\u00e4istuntojen testaamiseen\nsaman verkkosivun kanssa avaamatta kokonaan uutta selainkontekstia.\nKonteksteilla voi my\u00f6s olla yksityiskohtaisia m\u00e4\u00e4rityksi\u00e4, kuten maantieteellinen sijainti, kieliasetukset,\nn\u00e4kym\u00e4n koko tai v\u00e4rimaailma. Kontekstit tukevat my\u00f6s http-salasanojen asettamista,\njotta perusautentikointia voidaan testata. Jotta tiedostoja voidaan ladata testin aikana,\n``acceptDownloads``-argumentin on oltava asetettu arvoon ``True`` `New Context` -avainsanassa.\nKonteksti voi sis\u00e4lt\u00e4\u00e4 erilaisia sivuja.\n\n\n== Sivut ==\n\n*Sivu* sis\u00e4lt\u00e4\u00e4 ladatun verkkosivun sis\u00e4ll\u00f6n ja selailuhistorian.\nSivut ja selainv\u00e4lilehdet ovat samoja.\n\nTyypillinen k\u00e4ytt\u00f6 voi olla:\n| *** Testitapaukset ***\n| Selaimen k\u00e4ynnist\u00e4minen sivulla\n| New Browser chromium headless=false\n| New Context viewport={'width': 1920, 'height': 1080}\n| New Page https://marketsquare.github.io/robotframework-browser/Browser.html\n| Get Title == Browser\n\n`Open Browser` -avainsana avaa uuden selaimen, uuden kontekstin ja uuden sivun.\nT\u00e4t\u00e4 avainsanaa k\u00e4ytet\u00e4\u00e4n nopeisiin kokeiluihin tai vianetsint\u00e4istuntoihin.\n\nKun `New Page` kutsutaan ilman avointa selainta, `New Browser`\nja `New Context` suoritetaan ensin oletusarvoisilla arvoilla.\n\nJokaisella selaimella, kontekstilla ja sivulla on oma uniikki tunniste, jolla ne voidaan tunnistaa.\nKaikki avoimet kohteet voidaan hakea `Get Browser Catalog` -avainsanalla sanakirjana.\n\n= Automaattinen sivun ja kontekstin sulkeminen =\n\n%AUTO_CLOSING_LEVEL%\n\n= Elementtien l\u00f6yt\u00e4minen =\n\nKaikki kirjaston avainsanat, jotka tarvitsevat vuorovaikutusta elementin kanssa\nverkkosivulla, ottavat argumentin, joka yleens\u00e4 on nimelt\u00e4\u00e4n ``selector`` ja joka m\u00e4\u00e4ritt\u00e4\u00e4,\nmiten elementti l\u00f6ydet\u00e4\u00e4n. Avainsanat voivat l\u00f6yt\u00e4\u00e4 elementtej\u00e4 tiukassa tilassa.\nJos tiukka tila on tosi ja paikannin l\u00f6yt\u00e4\u00e4 useita elementtej\u00e4 sivulta, avainsana ep\u00e4onnistuu.\nJos avainsana l\u00f6yt\u00e4\u00e4 yhden elementin, avainsana ei ep\u00e4onnistu tiukan tilan vuoksi.\nJos tiukka tila on ep\u00e4tosi, avainsana ei ep\u00e4onnistu, vaikka valitsin osoittaisikin useita elementtej\u00e4.\nTiukka tila on oletuksena k\u00e4yt\u00f6ss\u00e4, mutta sit\u00e4 voi muuttaa kirjaston\n`importing` tai `Set Strict Mode` -avainsanalla. Avainsanan dokumentaatio kertoo,\njos avainsana k\u00e4ytt\u00e4\u00e4 tiukkaa tilaa. Jos avainsana ei mainitse tiukan tilan k\u00e4ytt\u00f6\u00e4,\nniin tiukkaa tilaa ei sovelleta avainsanaan. Lis\u00e4tietoja l\u00f6ytyy Playwrightista\n[https://playwright.dev/docs/api/class-page#page-query-selector|tiukan tilan dokumentaatiosta].\n\nOletuksena tuetut valitsimen strategiat on lueteltu alla olevassa taulukossa.\n\n| = Strategia = | = Vastaava peruste = | = Esimerkki = |\n| ``css`` | CSS-valitsin. | ``css=.class > \\#login_btn`` |\n| ``xpath`` | XPath-lauseke. | ``xpath=//input[@id=\"login_btn\"]`` |\n| ``text`` | Selaimen tekstimootori. | ``text=Kirjaudu sis\u00e4\u00e4n`` |\n| ``id`` | Elementin ID-attribuutti. | ``id=login_btn`` |\n\nCSS-valitsimia voidaan tallentaa my\u00f6s `Record selector` -avainsanalla.\n\n== Eksplisiittinen valitsimen strategia ==\n\nEksplisiittinen valitsimen strategia m\u00e4\u00e4ritet\u00e4\u00e4n etuliitteell\u00e4 k\u00e4ytt\u00e4m\u00e4ll\u00e4 syntaksia\n``strategia=arvo``. Erottajan ymp\u00e4rill\u00e4 olevat v\u00e4lily\u00f6nnit j\u00e4tet\u00e4\u00e4n huomiotta, joten\n``css=foo``, ``css= foo`` ja ``css = foo`` ovat kaikki samanarvoisia.\n\n\n== Implisiittinen valitsimen strategia ==\n\n*Oletusvalitsimen strategia on `css`.*\n\nJos valitsimessa ei ole yht\u00e4 tunnetuista eksplisiittisist\u00e4 valitsimen strategioista,\noletetaan, ett\u00e4 se sis\u00e4lt\u00e4\u00e4 css-valitsimen.\n\nValitsimet, jotka alkavat ``//`` tai ``..``, katsotaan xpath-valitsimiksi.\n\nValitsimet, jotka ovat lainausmerkeiss\u00e4, katsotaan tekstin valitsimiksi.\n\nEsimerkit:\n\n| # CSS-valitsimet ovat oletusarvoisia.\n| `Click` span > button.some_class # T\u00e4m\u00e4 on samanarvoinen\n| `Click` css=span > button.some_class # kuin t\u00e4m\u00e4.\n|\n| # // tai .. johtavat xpath-valitsimen strategiaan\n| `Click` //span/button[@class=\"some_class\"]\n| `Click` xpath=//span/button[@class=\"some_class\"]\n|\n| # \"teksti\" lainausmerkeiss\u00e4 johtaa tarkkaan tekstivalitsimen strategiaan\n| `Click` \"Kirjaudu sis\u00e4\u00e4n\"\n| `Click` text=\"Kirjaudu sis\u00e4\u00e4n\"\n\n\n== CSS ==\n\nKuten aiemmin mainittiin, oletusvalitsimen strategia on `css`. Katso\n[https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Selectors | css-valitsin]\nlis\u00e4tietoja varten.\n\nMik\u00e4 tahansa virheellinen valitsin, joka ei ala ``//`` tai ``..`` eik\u00e4 ala tai p\u00e4\u00e4ty\nlainausmerkkiin, oletetaan css-valitsimeksi.\n\nHuomaa, ett\u00e4 ``#`` on kommenttimerkki [https://robotframework.org/robotframework/latest/RobotFrameworkUserGuide.html#ignored-data | Robot Framework -syntaksissa] ja sen on oltava\nescapetoitu kuten ``\\#`` toimiakseen [https://developer.mozilla.org/en-US/docs/Web/CSS/ID_selectors | css ID -valitsimena].\n\nEsimerkit:\n| `Click` span > button.some_class\n| `Get Text` \\#k\u00e4ytt\u00e4j\u00e4nimi_kentt\u00e4 == Joonas\n\n\n== XPath ==\n\nXPath-moottori vastaa [https://developer.mozilla.org/en/docs/Web/API/Document/evaluate|Document.evaluate]-toimintoa.\nEsimerkki: ``xpath=//html/body//span[text()=\"Hei maailma\"]``.\n\nVirheellinen valitsin, joka alkaa ``//`` tai ``..``, oletetaan olevan xpath-valitsin.\nEsimerkiksi ``//html/body`` muunnetaan muotoon ``xpath=//html/body``. Lis\u00e4\u00e4\nesimerkkej\u00e4 n\u00e4ytet\u00e4\u00e4n `Esimerkit`-osiossa.\n\nHuomaa, ett\u00e4 xpath ei pysty k\u00e4sittelem\u00e4\u00e4n [https://developer.mozilla.org/en-US/docs/Web/Web_Components/Using_shadow_DOM|varjojuuria].\n\n\n== Teksti ==\n\nTekstimootori l\u00f6yt\u00e4\u00e4 elementin, joka sis\u00e4lt\u00e4\u00e4 tekstisolmun annetulla tekstill\u00e4.\nEsimerkiksi ``Click text=Kirjaudu sis\u00e4\u00e4n`` klikkaa kirjautumispainiketta ja\n``Wait For Elements State text=\"laiskasti ladattu teksti\"`` odottaa \"laiskasti ladattu teksti\"\nn\u00e4kyv\u00e4n sivulla.\n\nTekstimootori l\u00f6yt\u00e4\u00e4 kent\u00e4t niiden etikettien perusteella teksti\u00e4 sy\u00f6tt\u00e4viss\u00e4 avainsanoissa.\n\nVirheellinen valitsin, joka alkaa ja p\u00e4\u00e4ttyy lainausmerkill\u00e4 (joko ``\"`` tai ``'``), oletetaan\nolevan tekstivalitsin. Esimerkiksi ``Click \"Kirjaudu sis\u00e4\u00e4n\"`` muunnetaan muotoon ``Click text=\"Kirjaudu sis\u00e4\u00e4n\"``.\nHuomaa, ett\u00e4 n\u00e4m\u00e4 johtavat vain t\u00e4sm\u00e4llisiin osumiin!\nLis\u00e4\u00e4 esimerkkej\u00e4 n\u00e4ytet\u00e4\u00e4n `Esimerkit`-osiossa.\n\n\n=== Ei-herkk\u00e4 osuma ===\n\nOletuksena osuma on kirjainkoosta riippumaton, ohittaa johtavan/p\u00e4\u00e4ttyv\u00e4n v\u00e4lily\u00f6nnin ja\netsii alimerkkijonoa. T\u00e4m\u00e4 tarkoittaa, ett\u00e4 ``text= Kirjaudu sis\u00e4\u00e4n`` vastaa\n``<button>Painike kIRJAUDU (klikkaa minua)</button>``.\n\n=== Tarkka osuma ===\n\nTekstin sis\u00e4lt\u00f6 voidaan erist\u00e4\u00e4 yksinkertaisilla tai kaksinkertaisilla lainausmerkeill\u00e4 tarkkaa vastaavuutta varten,\nvaatien t\u00e4sm\u00e4llist\u00e4 osumaa, mukaan lukien m\u00e4\u00e4ritetty v\u00e4lily\u00f6nti ja kirjainkoko.\nT\u00e4m\u00e4 tarkoittaa, ett\u00e4 ``text=\"Kirjaudu \"`` vastaa vain ``<button>Kirjaudu </button>`` tarkalleen\nyhdell\u00e4 v\u00e4lily\u00f6nnill\u00e4 `Kirjaudu` j\u00e4lkeen. Lainattu teksti noudattaa tavallisia karkaisus\u00e4\u00e4nt\u00f6j\u00e4, esim.\nk\u00e4yt\u00e4 ``\\\"`` kaksinkertaisen lainausmerkin karkaisemiseksi kaksinkertaisessa lainausmerkkijonossa: ``text=\"foo\\\"bar\"``.\n\n=== RegEx ===\n\nTekstin sis\u00e4lt\u00f6 voi my\u00f6s olla JavaScriptin kaltaista regexi\u00e4, joka on k\u00e4\u00e4ritty / -symboleihin.\nT\u00e4m\u00e4 tarkoittaa, ett\u00e4 ``text=/^hei .*!$/i`` tai ``text=/^Hei .*!$/`` vastaa ``<span>Hei Peter Parker!</span>``\nmill\u00e4 tahansa nimell\u00e4 `Hei` j\u00e4lkeen, p\u00e4\u00e4ttyen `!`-merkkiin.\nEnsimm\u00e4inen on merkitty ``i`` kirjaimen koosta riippumattomaksi.\nKatso lis\u00e4tietoja RegExist\u00e4 [https://regex101.com/|https://regex101.com].\n\n=== Painike ja l\u00e4het\u00e4-arvot ===\n\nTyyppi\u00e4 painike ja l\u00e4het\u00e4 olevat sy\u00f6tt\u00f6elementit render\u00f6id\u00e4\u00e4n niiden arvolla tekstin\u00e4,\nja tekstimootori l\u00f6yt\u00e4\u00e4 ne. Esimerkiksi ``text=Kirjaudu sis\u00e4\u00e4n`` vastaa\n``<input type=button value=\"Kirjaudu\">``.\n\n== Kaskadinen valitsinsyntaksi ==\n\nSelainkirjasto tukee samoja valitsimen strategioita kuin pohjana\noleva Playwrightin solmumoduuli: xpath, css, id ja text. Strategia voidaan\njoko m\u00e4\u00e4ritt\u00e4\u00e4 eksplisiittisesti etuliitteell\u00e4 tai strategia voi olla implisiittinen.\n\nSelaimen suuri etu on, ett\u00e4 yhden valitsimen sis\u00e4ll\u00e4 voidaan k\u00e4ytt\u00e4\u00e4\nuseita valitsinmoottoreita. On mahdollista sekoittaa XPath-, CSS- ja Tekstivalitsimia,\nkun valitaan yksi elementti.\n\nValitsimet ovat merkkijonoja, jotka koostuvat yhdest\u00e4 tai useammasta lauseesta,\njotka erotetaan ``>>`` -merkill\u00e4, esim. ``lause1 >> lause2 >> lause3``. Kun\nuseita lauseita on l\u00e4sn\u00e4, seuraava kysyt\u00e4\u00e4n suhteessa edellisen tulokseen.\nSelainkirjasto tukee erilaisten valitsimien yhdist\u00e4mist\u00e4 ``>>`` -merkill\u00e4 erotettuina.\n\nEsimerkiksi:\n| `Korosta elementit` \"Hei\" >> ../.. >> .valitsin_nappi\n| `Korosta elementit` text=Hei >> xpath=../.. >> css=.valitsin_nappi\n\nJokainen lause sis\u00e4lt\u00e4\u00e4 valitsinmoottorin nimen ja valitsimen rungon, esim.\n``moottori=runko``. T\u00e4ss\u00e4 ``moottori`` on yksi tuetuista moottoreista (esim. css tai\noma). Valitsin ``runko`` noudattaa kyseisen moottorin formaattia,\nesim. css-moottorille sen tulisi olla [https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Selectors | css-valitsin].\nRungon muoto oletetaan j\u00e4tt\u00e4v\u00e4n huomiotta johtavat ja loppuvalkoiset v\u00e4lily\u00f6nnit,\njotta ylim\u00e4\u00e4r\u00e4inen v\u00e4lily\u00f6nti voidaan lis\u00e4t\u00e4 luettavuuden vuoksi. Jos valitsinmoottorin\nrungossa tarvitaan ``>>``, se tulisi escapetaa\nmerkkijonossa, jotta sit\u00e4 ei sekoitettaisi lauseen erottimeen,\nesim. ``text=\"jotain >> teksti\u00e4\"``.\n\nValitsinmoottorin nimen eteen voidaan lis\u00e4t\u00e4 etuliite ``*`` napatakseen elementin,\njoka vastaa kyseist\u00e4 lausetta viimeisen sijasta. Esimerkiksi,\n``css=artikkeli >> text=Hei`` napataan elementti, jossa on teksti ``Hei``,\nja ``*css=artikkeli >> text=Hei`` (huomaa *) napataan artikkelielementti,\njoka sis\u00e4lt\u00e4\u00e4 jonkin elementin tekstill\u00e4 Hei.\n\nMukavuuden vuoksi v\u00e4\u00e4r\u00e4ss\u00e4 formaatissa olevat valitsimet muunnetaan heuristisesti\noikeaan formaattiin. Katso `Implisiittinen valitsimen strategia`\n\n== Esimerkit ==\n| # kysyy 'div' css-valitsimen\n| Get Element css=div\n|\n| # kysyy '//html/body/div' xpath-valitsimen\n| Get Element //html/body/div\n|\n| # kysyy '\"foo\"' tekstivalitsimen\n| Get Element text=foo\n|\n| # kysyy 'span' css-valitsimen '//html/body/div' xpath-valitsimen tuloksessa\n| Get Element xpath=//html/body/div >> css=span\n|\n| # muunnetaan 'css=div':ksi\n| Get Element div\n|\n| # muunnetaan 'xpath=//html/body/div':ksi\n| Get Element //html/body/div\n|\n| # muunnetaan 'text=\"foo\"':ksi\n| Get Element \"foo\"\n|\n| # kysyy joka toisen span-elementin div-elementti\u00e4 elementiss\u00e4, jolla on tunnus foo\n| Get Element \\#foo >> css=span:nth-child(2n+1) >> div\n| Get Element id=foo >> css=span:nth-child(2n+1) >> div\n\nHuomaa, ett\u00e4 Robot Frameworkissa k\u00e4ytt\u00e4minen ``#`` aloittavana merkkin\u00e4 tulkittaisiin kommenttina.\nT\u00e4m\u00e4n tosiasian vuoksi ``#id`` on escapetoitava kuten ``\\#id``.\n\n== iFramet ==\n\nOletuksena valitsimen ketjut eiv\u00e4t ylit\u00e4 kehyksen rajoja. Se tarkoittaa, ett\u00e4 yksinkertainen CSS-valitsin ei pysty valitsemaan\nkehyksen sis\u00e4ll\u00e4 olevaa elementti\u00e4 tai kehyssarjaa. T\u00e4h\u00e4n k\u00e4ytt\u00f6tapaukseen on olemassa erityinen valitsin ``>>>``, jota voidaan\nk\u00e4ytt\u00e4\u00e4 yhdist\u00e4m\u00e4\u00e4n valitsin kehykselle ja valitsin kehyksen sis\u00e4ll\u00e4 olevalle elementille.\n\nOletetaan t\u00e4m\u00e4 yksinkertainen pseudohtml-p\u00e4tk\u00e4:\n| <iframe id=\"iframe\" src=\"src.html\">\n| #document\n| <!DOCTYPE html>\n| <html>\n| <head></head>\n| <body>\n| <button id=\"btn\">Click Me</button>\n| </body>\n| </html>\n| </iframe>\n\nT\u00e4ss\u00e4 on avainsanakutsu, joka klikkaa painiketta kehyksen sis\u00e4ll\u00e4.\n\n| Click id=iframe >>> id=btn\n\n``>>>``:n vasemmalla ja oikealla puolella olevat valitsimet voivat olla mit\u00e4 tahansa kelvollisia valitsimia.\nValitsinlauseke suoraan ennen kehyksen avaajaa ``>>>`` on valittava itse kehys-elementti.\nKehyksen valinta on ainoa paikka, jossa Selainkirjasto muokkaa valitsinta, kuten selitetty yll\u00e4.\nKaikissa tapauksissa kirjasto ei muuta valitsinta mill\u00e4\u00e4n tavalla, sen sijaan se v\u00e4litet\u00e4\u00e4n sellaisenaan Playwright-puolelle.\n\nJos useita avainsanoja halutaan suorittaa kehyksen sis\u00e4ll\u00e4,\non mahdollista m\u00e4\u00e4ritt\u00e4\u00e4 valitsimen etuliite avainsanalla `Set Selector Prefix`.\nJos t\u00e4t\u00e4 etuliitett\u00e4 k\u00e4ytet\u00e4\u00e4n kehyksess\u00e4/iframessa, sill\u00e4 on samanlainen k\u00e4ytt\u00e4ytyminen kuin Selenium-kirjaston avainsanalla `Select Frame`.\n\n== Web-komponentit ja varjo-DOM ==\n\nPlaywright ja n\u00e4in ollen my\u00f6s Selain kykenev\u00e4t automaattisesti l\u00e4p\u00e4isem\u00e4\u00e4n varjo-DOMit\nja ovat siksi parasta automaatioteknologiaa ty\u00f6skennelt\u00e4ess\u00e4 Web-komponenttien kanssa.\n\nMy\u00f6s muut teknologiat v\u00e4itt\u00e4v\u00e4t voivansa k\u00e4sitell\u00e4\n[https://developer.mozilla.org/en-US/docs/Web/Web_Components/Using_shadow_DOM|varjo-DOMia ja Web-komponentteja].\nKuitenkaan mik\u00e4\u00e4n niist\u00e4 ei l\u00e4p\u00e4ise varjojuuria automaattisesti,\nmik\u00e4 voi olla hankalaa ty\u00f6skennelt\u00e4ess\u00e4 varjo-DOMin ja Web-komponenttien kanssa.\n\nT\u00e4m\u00e4n vuoksi css-moottori l\u00e4p\u00e4isee varjojuuret. Tarkemmin sanottuna jokainen\n[https://developer.mozilla.org/en-US/docs/Web/CSS/Descendant_combinator|J\u00e4lkel\u00e4isvalitsin]\nl\u00e4p\u00e4isee mielivaltaisen m\u00e4\u00e4r\u00e4n avoimia varjojuuria, mukaan lukien implisiittinen j\u00e4lkel\u00e4isvalitsin\nvalitsimen alussa.\n\nT\u00e4m\u00e4 tarkoittaa, ettei ole tarpeen valita jokaista varjo-is\u00e4nt\u00e4\u00e4, avata sen varjojuuri ja\nvalita seuraava varjo-is\u00e4nt\u00e4, kunnes saavutetaan hallittava elementti.\n\n=== CSS:light ===\n\n``css:light`` -moottori vastaa [https://developer.mozilla.org/en/docs/Web/API/Document/querySelector | Document.querySelector]\nja k\u00e4ytt\u00e4ytyy CSS-m\u00e4\u00e4rityksen mukaisesti.\nKuitenkin se ei l\u00e4p\u00e4ise varjojuuria.\n\n``css`` -moottori etsii ensin elementtej\u00e4 kevyess\u00e4 DOMissa iteraatioj\u00e4rjestyksess\u00e4,\nja sitten rekursiivisesti avoimista varjojuurista iteraatioj\u00e4rjestyksess\u00e4. Se ei\netsi suljetuista varjojuurista eik\u00e4 iframeista.\n\nEsimerkit:\n\n| <article>\n| <div>Kevyess\u00e4 DOMissa</div>\n| <div slot='myslot'>Kevyess\u00e4 DOMissa, mutta menee varjoaukkoon</div>\n| <open mode shadow root>\n| <div class='in-the-shadow'>\n| <span class='content'>\n| Varjo-DOMissa\n| <open mode shadow root>\n| <li id='target'>Syv\u00e4ll\u00e4 varjossa</li>\n| </open mode shadow root>\n| </span>\n| </div>\n| <slot name='myslot'></slot>\n| </open mode shadow root>\n| </article>\n\nHuomaa, ett\u00e4 ``<open mode shadow root>`` ei ole html-elementti, vaan pikemminkin varjojuuri,\njoka on luotu ``element.attachShadow({mode: 'open'})``.\n\n- Sek\u00e4 ``\"css=article div\"`` ett\u00e4 ``\"css:light=article div\"`` vastaavat ensimm\u00e4ist\u00e4 ``<div>Kevyess\u00e4 DOMissa</div>``.\n- Sek\u00e4 ``\"css=article > div\"`` ett\u00e4 ``\"css:light=article > div\"`` vastaavat kahta ``div`` -elementti\u00e4, jotka ovat suora lapsia ``article``.\n- ``\"css=article .in-the-shadow\"`` vastaa ``<div class='in-the-shadow'>``, l\u00e4p\u00e4isten varjojuuren, kun taas ``\"css:light=article .in-the-shadow\"`` ei vastaa mit\u00e4\u00e4n.\n- ``\"css:light=article div > span\"`` ei vastaa mit\u00e4\u00e4n, koska molemmat kevyen DOMin ``div`` -elementit eiv\u00e4t sis\u00e4ll\u00e4 ``span``.\n- ``\"css=article div > span\"`` vastaa ``<span class='content'>``, l\u00e4p\u00e4isten varjojuuren.\n- ``\"css=article > .in-the-shadow\"`` ei vastaa mit\u00e4\u00e4n, koska ``<div class='in-the-shadow'>`` ei ole ``article``:n suora lapsi\n- ``\"css:light=article > .in-the-shadow\"`` ei vastaa mit\u00e4\u00e4n.\n- ``\"css=article li#target\"`` vastaa ``<li id='target'>Syv\u00e4ll\u00e4 varjossa</li>``, l\u00e4p\u00e4isten kaksi varjojuurta.\n\n=== text:light ===\n\n``text``-moottori avaa varjojuuret samalla tavalla kuin ``css``, kun taas ``text:light`` ei tee niin.\nTekstimoottori etsii ensin elementtej\u00e4 kevyess\u00e4 DOMissa iteraatioj\u00e4rjestyksess\u00e4, ja sitten\nrekursiivisesti avoimista varjojuurista iteraatioj\u00e4rjestyksess\u00e4. Se ei etsi\nsuljettuja varjojuuria tai iframeja.\n\n=== id, data-testid, data-test-id, data-test ja niiden :light-vastaavat ===\n\nAttribuuttimoottorit valitsevat vastaavan attribuutin arvon perusteella.\nEsimerkiksi: ``data-test-id=foo`` vastaa ``css=[data-test-id=\"foo\"]``,\nja ``id:light=foo`` vastaa ``css:light=[id=\"foo\"]``.\n\n== Elementtiviittauksen syntaksi ==\n\nOn mahdollista saada viittaus Sijainnikkaan k\u00e4ytt\u00e4m\u00e4ll\u00e4 `Get Element` ja `Get Elements` avainsanoja.\nAvainsanat eiv\u00e4t tallenna viittausta elementtiin HTML-dokumentissa, vaan se tallentaa viittauksen Playwrightin\n[https://playwright.dev/docs/api/class-locator|Locator]-objektiin. Sijainninvaraaja tallentaa loogisen mallin siit\u00e4,\nkuinka hakea kyseinen elementti sivulta. Joka kerta, kun toimenpide suoritetaan, sijainninvaraaja etsii uudelleen\nsivun elementit. T\u00e4t\u00e4 viitett\u00e4 voidaan k\u00e4ytt\u00e4\u00e4 *ensimm\u00e4isen\u00e4* osana valitsinta k\u00e4ytt\u00e4m\u00e4ll\u00e4 erityist\u00e4 valitsimen\nsyntaksia `element=`, kuten t\u00e4ss\u00e4:\n\n| ${ref}= Get Element .some_class\n| Click ${ref} >> .some_child # Sijainninvaraaja etsii elementin sivulta.\n| Click ${ref} >> .other_child # Sijainninvaraaja etsii j\u00e4lleen elementin sivulta.\n\nEsimerkin `.some_child` ja `.other_child` -valitsimet ovat suhteessa ${ref}:n viittaamaan elementtiin. Huomaa, ett\u00e4 kehyksen l\u00e4p\u00e4isy ei ole mahdollista elementtiviittauksen kanssa.\n\n= V\u00e4itt\u00e4m\u00e4t =\n\nAvainsanat, jotka hyv\u00e4ksyv\u00e4t argumentit ``assertion_operator`` <`AssertionOperator`> ja ``assertion_expected``,\nvoivat valinnaisesti v\u00e4itt\u00e4\u00e4, ett\u00e4 m\u00e4\u00e4ritelty ehto p\u00e4tee. Avainsanat palauttavat arvon my\u00f6s silloin, kun\nv\u00e4ite tarkistetaan avainsanan avulla.\n\nAssert yritt\u00e4\u00e4 uudelleen ja ep\u00e4onnistuu vasta m\u00e4\u00e4ritetyn aikakatkaisun j\u00e4lkeen.\nKatso `Tuonti` ja ``retry_assertions_for`` (oletuksena 1 sekunti) t\u00e4m\u00e4n aikakatkaisun m\u00e4\u00e4ritt\u00e4miseksi.\n\n\n%ASSERTION_TABLE%\n\nOletuksena avainsanat antavat virhesanoman, jos v\u00e4ite ep\u00e4onnistuu.\nOletusvirhesanomat voidaan korvata ``message``-argumentilla.\n``message``-argumentti hyv\u00e4ksyy `{value}`, `{value_type}`, `{expected}` ja\n`{expected_type}` [https://docs.python.org/3/library/stdtypes.html#str.format|format]\n-vaihtoehdot.\n`{value}` on avainsanan palauttama arvo ja `{expected}`\non k\u00e4ytt\u00e4j\u00e4n m\u00e4\u00e4rittelem\u00e4 odotettu arvo, yleens\u00e4 arvo ``assertion_expected``-argumentissa. `{value_type}` ja\n`{expected_type}` ovat tyyppim\u00e4\u00e4rittelyj\u00e4 `{value}` ja `{expected}`-argumenteista.\nSamanlaisesti kuin Pythonin\n[https://docs.python.org/3/library/functions.html#type|type] palauttaa tyyppim\u00e4\u00e4rittelyn.\nV\u00e4itteit\u00e4 yritet\u00e4\u00e4n uudelleen, kunnes ``timeout`` on vanhentunut, jos ne eiv\u00e4t l\u00e4p\u00e4ise.\n\nV\u00e4itteen ``assertion_expected``-arvoa ei muunneta kirjaston toimesta ja\nsit\u00e4 k\u00e4ytet\u00e4\u00e4n sellaisenaan. Siksi, kun v\u00e4ite tehd\u00e4\u00e4n, ``assertion_expected``\n-argumentin arvon ja avainsanan palauttaman arvon on oltava samantyyppisi\u00e4. Jos tyypit\neiv\u00e4t ole samat, v\u00e4ite ep\u00e4onnistuu. Esimerkiksi `Get Text` palauttaa aina merkkijonon\nja sit\u00e4 on verrattava merkkijonoon, vaikka palautettu arvo n\u00e4ytt\u00e4isi numerolta.\n\nMuilla Avainsanoilla on muita tiettyj\u00e4 tyyppej\u00e4, joita ne palauttavat.\n`Get Element Count` palauttaa aina kokonaisluvun.\n`Get Bounding Box` ja `Get Viewport Size` voidaan suodattaa.\nNe palauttavat sanakirjan ilman suodatinta ja numeron suodatettaessa.\nN\u00e4m\u00e4 Avainsanat tekev\u00e4t automaattisen muunnoksen odotetulle arvolle, jos numero palautetaan.\n\n* < v\u00e4hemm\u00e4n tai suurempi > Merkkijonoilla*\nMerkkijonojen vertailu ``suurempi kuin`` tai ``pienempi kuin`` vertaa jokaista merkki\u00e4,\nalottaen 0:sta riippuen siit\u00e4, miss\u00e4 se sijaitsee koodisivulla.\nEsimerkki: ``A < Z``, ``Z < a``, ``ac < dc`\nSe ei koskaan vertaa elementtien pituutta. Ei listoja eik\u00e4 merkkijonoja.\nVertailu lopetetaan ensimm\u00e4iseen erilaiseen merkkiin.\nEsimerkit: ``'abcde' < 'abd'``, ``'100.000' < '2'``\nPython 3:ssa ja siten my\u00f6s Selaimessa ei ole mahdollista verrata numeroita\nmerkkijonoihin suuremmalla tai pienemm\u00e4ll\u00e4 operaattorilla.\nAvainsanoilla, jotka palauttavat numeroita, annettu odotettu arvo muunnetaan automaattisesti\nnumeroksi ennen vertailua.\n\n\nGetterit `Get Page State` ja `Get Browser Catalog` palauttavat sanakirjan. Sanakirjan arvoja voi suoraan v\u00e4itt\u00e4\u00e4.\nHuomioi mahdolliset tyypit, koska ne arvioidaan Pythonissa. Esimerkiksi:\n\n| Get Page State validate 2020 >= value['year'] # Numeroiden vertailu\n| Get Page State validate \"T\u00c4RKE\u00c4 VIESTI!\" == value['message'] # Merkkijonojen vertailu\n\n== 'then' tai 'evaluate' -sulkeet ==\n\nAvainsanat, jotka hyv\u00e4ksyv\u00e4t argumentit ``assertion_operator`` ja ``assertion_expected``,\nvoivat valinnaisesti k\u00e4ytt\u00e4\u00e4 my\u00f6s ``then`` tai ``evaluate``-sulkua muuttaakseen palautettua arvoa\nBuiltIn Evaluate -toiminnolla. Todelliseen arvoon p\u00e4\u00e4see k\u00e4siksi ``value``:lla.\n\nEsimerkiksi ``Get Title then 'OTSIKKO: '+value``.\nKatso\n[https://robotframework.org/robotframework/latest/libraries/BuiltIn.html#Evaluating%20expressions|\nBuiltin Evaluating expressions]\nlis\u00e4tietoja syntaksista.\n\n== Esimerkit ==\n\n| # *Avainsana* *Valitsin* *Avain* *V\u00e4itt\u00e4m\u00e4operaattori* *Odotettu v\u00e4ite*\n| Get Title equal Sivun otsikko\n| Get Title ^= Sivu\n| Get Style //*[@id=\"div-element\"] leveys > 100\n| Get Title matches \\\\w+\\\\s\\\\w+\n| Get Title validate arvo == \"Kirjautumissivu\"\n| Get Title evaluate arvo if arvo == \"jokin arvo\" else \"jotain muuta\"\n\n\n= Implisiittinen odottaminen =\n\nSelainkirjastolla ja Playwrightilla on monia mekanismeja auttamaan elementtien odottamisessa.\nPlaywright odottaa automaattisesti ennen toimintojen suorittamista elementteihin.\nKatso lis\u00e4tietoja [https://playwright.dev/docs/actionability/ | Playwrightin dokumentaatiosta] automaattisen odottamisen osalta.\n\nPlaywrightin automaattisen odottamisen lis\u00e4ksi Browser-v\u00e4itteet odottavat ja yritt\u00e4v\u00e4t uudelleen\nm\u00e4\u00e4ritetyn ajan ennen kuin ne ep\u00e4onnistuvat mist\u00e4\u00e4n `V\u00e4itt\u00e4misist\u00e4`.\nAika m\u00e4\u00e4ritet\u00e4\u00e4n Browser-kirjaston alustuksessa ``retry_assertions_for``:lla.\n\nBrowser-kirjasto sis\u00e4lt\u00e4\u00e4 my\u00f6s eksplisiittisi\u00e4 odotusavainsanoja, kuten `Wait for Elements State`,\njos tarvitaan enemm\u00e4n hallintaa odottamiseen.\n\n= Kokeellinen: Saman solmun prosessin uudelleenk\u00e4ytt\u00f6 =\n\nBrowser-kirjasto integroi Node.js:n ja Pythonin. Node.js-puolta voidaan suorittaa my\u00f6s itsen\u00e4isen\u00e4 prosessina.\nBrowser-kirjastoja ajetaan samalla koneella voidaan kommunikoida sen kanssa sen sijaan, ett\u00e4 aloitettaisiin uusia node-prosesseja.\nT\u00e4m\u00e4 voi nopeuttaa suoritusta, kun testej\u00e4 ajetaan rinnakkain.\nNode-puolen k\u00e4ynnist\u00e4miseksi suorita hakemistossa, jossa Browser-paketti sijaitsee\n``PLAYWRIGHT_BROWSERS_PATH=0 node Browser/wrapper/index.js PORT``.\n\n``PORT`` on portti, jota haluat k\u00e4ytt\u00e4\u00e4 node-prosessissa.\nSuorittaaksesi sen testit esimerkiksi pabotilla tee ``ROBOT_FRAMEWORK_BROWSER_NODE_PORT=PORT pabot ..``.\n\n= Kokeellinen: Parametrien antaminen node-prosessille =\n\nBrowser-kirjasto on integroitu Node.js:n ja Pythonin kanssa. Browser-kirjasto k\u00e4ynnist\u00e4\u00e4 node-prosessin, kommunikoidakseen\nPlaywrightin API:n kanssa Node.js-puolella. On mahdollista antaa parametreja k\u00e4ynnistetylle node-prosessille m\u00e4\u00e4rittelem\u00e4ll\u00e4\nROBOT_FRAMEWORK_BROWSER_NODE_DEBUG_OPTIONS-ymp\u00e4rist\u00f6muuttuja, ennen testien suorittamisen aloittamista. Esimerkki:\n``ROBOT_FRAMEWORK_BROWSER_NODE_DEBUG_OPTIONS=--inspect;robot polku/kohti/testej\u00e4``.\nYmp\u00e4rist\u00f6muuttujaan voi m\u00e4\u00e4ritell\u00e4 useita argumentteja, ja argumentit on erotettava pilkulla.\n\n= K\u00e4ytt\u00f6alan asettaminen =\n\nJotkut avainsanat, jotka manipuloivat kirjaston asetuksia, ottavat mukanaan alueargumentin.\nT\u00e4ll\u00e4 alueargumentilla voi asettaa kyseisen asetuksen \"el\u00e4m\u00e4nkaaren\".\nK\u00e4ytett\u00e4viss\u00e4 olevat alueet ovat: `Global`, `Suite` ja `Test`/`Task`\nKatso `Scope`.\nKun alue on p\u00e4\u00e4ttynyt, t\u00e4t\u00e4 m\u00e4\u00e4ritelty\u00e4 alueen asetusta, kuten aikarajaa, ei en\u00e4\u00e4 k\u00e4ytet\u00e4.\n\nEl\u00e4m\u00e4nkaaret:\n- `Global`-alue on voimassa ikuisesti, kunnes se korvataan toisella `Global`-alueella. Tai tilap\u00e4isesti paikallisesti ylikirjoitetaan kapeammalla alueella.\n- `Suite`-alue ylikirjoittaa paikallisesti `Global`-alueen ja on voimassa kunnes sen sis\u00e4ll\u00e4 oleva suite loppuu, tai jos se korvataan my\u00f6hemmin asetuksella `Global` tai samalla alueella. Alisuite perii asetuksen vanhemman suitten asetuksesta, mutta sill\u00e4 voi my\u00f6s olla oma paikallinen `Suite`-asetus, joka perit\u00e4\u00e4n sen alisuiteille.\n- `Test` tai `Task`-alue perit\u00e4\u00e4n sen vanhemmalta suitelta, mutta kun se on asetettu, se on voimassa kyseisen testin tai teht\u00e4v\u00e4n loppuun asti.\n\nUusi asetus, joka on korkeammalla asteella, poistaa aina matalamman asteen alueen, joka saattaa olla vastuussa.\nJoten `Suite`-alueen asetus testist\u00e4 asettaa kyseisen alueen robotin tiedoston suiteen, jossa testi on, ja poistaa mahdollisen `Test`-alueen, joka voi olla voimassa.\n\n= Kokeellinen: Saman node prosessin uudelleenk\u00e4ytt\u00f6 =\n\nBrowser-kirjasto integroi Node.js:n ja Pythonin. Node.js-puolta voidaan suorittaa my\u00f6s itsen\u00e4isen\u00e4 prosessina.\nBrowser-kirjastoja voidaan ajaa samalla koneella kommunikoiden sen kanssa sen sijaan, ett\u00e4 k\u00e4ynnistett\u00e4isiin uusia node-prosesseja.\nT\u00e4m\u00e4 voi nopeuttaa suoritusta, kun testej\u00e4 ajetaan samanaikaisesti.\nNode-puolen k\u00e4ynnist\u00e4miseksi suorita hakemistossa, jossa Browser-paketti sijaitsee\n``PLAYWRIGHT_BROWSERS_PATH=0 node Browser/wrapper/index.js PORT``.\n\n``PORT`` on portti, jota haluat k\u00e4ytt\u00e4\u00e4 node-prosessissa.\nSuorittaaksesi testit esimerkiksi pabotilla tee ``ROBOT_FRAMEWORK_BROWSER_NODE_PORT=PORT pabot ..``.\n\n= Kokeellinen: Parametrien antaminen node-prosessille =\n\nBrowser-kirjasto on integroitu Node.js:n ja Pythonin kanssa. Browser-kirjasto k\u00e4ynnist\u00e4\u00e4 node-prosessin, jotta se voi kommunikoida\nPlaywrightin API:n kanssa Node.js-puolella. On mahdollista antaa parametreja k\u00e4ynnistetylle node-prosessille m\u00e4\u00e4rittelem\u00e4ll\u00e4\nROBOT_FRAMEWORK_BROWSER_NODE_DEBUG_OPTIONS-ymp\u00e4rist\u00f6muuttujan ennen testien suorittamista. Esimerkki:\n``ROBOT_FRAMEWORK_BROWSER_NODE_DEBUG_OPTIONS=--inspect;robot polku/kohti/testej\u00e4``.\nYmp\u00e4rist\u00f6muuttujaan voi m\u00e4\u00e4ritell\u00e4 useita argumentteja, ja argumentit on erotettava pilkulla.\n\n= Browser-kirjaston laajentaminen JavaScript-moduulilla =\n\nBrowser-kirjastoa voidaan laajentaa JavaScriptill\u00e4. Moduulin on oltava CommonJS-muodossa, jota Node.js k\u00e4ytt\u00e4\u00e4.\nVoit k\u00e4\u00e4nt\u00e4\u00e4 ES6-moduulisi Node.js:n CommonJS-tyyliin Babylill\u00e4. Monia muita kieli\u00e4\nvoidaan my\u00f6s k\u00e4\u00e4nt\u00e4\u00e4 moduuleiksi, joita voidaan k\u00e4ytt\u00e4\u00e4 Node.js:st\u00e4. Esimerkiksi TypeScript, PureScript ja\nClojureScript, mainitakseni muutamia.\n\n| async function myGoToKeyword(url, args, page, logger, playwright) {\n| logger(args.toString())\n| playwright.coolNewFeature()\n| return await page.goto(url);\n| }\n\nFunktioissa voi olla mit\u00e4 tahansa m\u00e4\u00e4r\u00e4 argumentteja, ja argumenteilla voi olla oletusarvoja.\n\nJoitain varattuja argumentteja, joihin ei p\u00e4\u00e4st\u00e4 k\u00e4siksi Robot Frameworkin puolelta, on:\n\n``page``: [https://playwright.dev/docs/api/class-page|Playwrightin Page-objekti].\n\n``args``: loput arvot Robot Frameworkin avainsanan kutsusta ``*args``.\n\n``logger``: takaisinkutsufunktio, joka ottaa merkkijonoja argumentteina ja kirjoittaa ne robotin lokimerkint\u00e4\u00e4n. Voidaan kutsua useita kertoja.\n\n``playwright``: playwright-moduuli (* from 'playwright'). Hy\u00f6dyllinen integroitaessa Playwrightin ominaisuuksia, joita Browser-kirjasto ei tue omilla avainsanoillaan. [https://playwright.dev/docs/api/class-playwright|API-dokumentaatio]\n\nmy\u00f6s argumenttinime\u00e4 ``self`` ei voi k\u00e4ytt\u00e4\u00e4.\n\n== Esimerkkimoduuli.js ==\n\n| async function myGoToKeyword(pageUrl, page) {\n| await page.goto(pageUrl);\n| return await page.title();\n| }\n| exports.__esModule = true;\n| exports.myGoToKeyword = myGoToKeyword;\n\n== Esimerkki Robot Frameworkin puolelta ==\n\n| *** Asetukset ***\n| Library Browser jsextension=${CURDIR}/moduuli.js\n|\n| *** Testitapaukset ***\n| Hei\n| Uusi Sivu\n| ${otsikko}= myGoToKeyword https://playwright.dev\n| Tulee olla sama ${otsikko} Playwright\n\nMy\u00f6s valitsinsyntaksia voidaan laajentaa mukautetulla valitsimella k\u00e4ytt\u00e4m\u00e4ll\u00e4 js-moduulia\n\n== Esimerkkimoduuliavainsana mukautetun valitsimen rekister\u00f6imiseksi ==\n\n| async function rekister\u00f6iOmaValitsin(playwright) {\n| playwright.selectors.register(\"omavalitsin\", () => ({\n| // Palauttaa ensimm\u00e4isen annetun valitsimen mukaisen elementin juuren alipuussa.\n| query(root, valitsin) {\n| return root.querySelector(`a[data-title=\"${valitsin}\"]`);\n| },\n|\n| // Palauttaa kaikki annetun valitsimen mukaiset elementit juuren alipuussa.\n| queryAll(root, valitsin) {\n| return Array.from(root.querySelectorAll(`a[data-title=\"${valitsin}\"]`));\n| }\n| }));\n| return 1;\n| }\n| exports.__esModule = true;\n| exports.rekister\u00f6iOmaValitsin = rekister\u00f6iOmaValitsin;\n\n= Laajennukset =\n\nBrowser-kirjasto tarjoaa laajennuksia tapana muokata ja lis\u00e4t\u00e4 kirjaston avainsanoja ja muuttaa joitakin sis\u00e4isi\u00e4 toimintoja\nluomatta uutta kirjastoa tai muokkaamatta l\u00e4hdekoodia. Katso laajennusrajapinnan\n[https://github.com/MarketSquare/robotframework-browser/blob/main/docs/plugins/README.md | dokumentaatiota] lis\u00e4tietoja varten.\n\n= Kielituki =\n\nBrowser-kirjasto tarjoaa mahdollisuuden k\u00e4\u00e4nt\u00e4\u00e4 avainsanojen nimi\u00e4 ja dokumentaatiota uuteen kieleen. Jos kieli\non m\u00e4\u00e4ritetty, Browser-kirjasto etsii\n[https://robotframework.org/robotframework/latest/RobotFrameworkUserGuide.html#module-search-path | moduulien hakupoluilta]\nPython-paketteja, jotka alkavat `robotframework_browser_translation` k\u00e4ytt\u00e4en\n[https://packaging.python.org/en/latest/guides/creating-and-discovering-plugins/ | Python-laajennusrajapintaa]. Kirjasto\nk\u00e4ytt\u00e4\u00e4 nime\u00e4misk\u00e4yt\u00e4nt\u00f6\u00e4 l\u00f6yt\u00e4\u00e4kseen Python-laajennukset. Pakettien on toteutettava yksi API-kutsu, `get_language`\nilman argumentteja. Metodin on palautettava sanakirja, joka sis\u00e4lt\u00e4\u00e4 kaksi avainta: `language` ja `path`. Kielen avain m\u00e4\u00e4rittelee,\nmik\u00e4 kieli paketti sis\u00e4lt\u00e4\u00e4. Arvon tulisi my\u00f6s vastata (kirjainten koosta v\u00e4litt\u00e4m\u00e4tt\u00e4)\nkirjaston alustusparametrin `language` arvoa. Polku-parametrin arvon tulisi olla koko polku k\u00e4\u00e4nn\u00f6stiedostoon.\nTiedoston nimi tai laajennus ei ole t\u00e4rke\u00e4, mutta tiedon on oltava json-muodossa. Jsonin avaimet ovat\nmetodin nimi\u00e4, eiv\u00e4t avainsanan nimi\u00e4, jotka toteuttavat avainsanat. Avaimen arvo on json-objekti, joka sis\u00e4lt\u00e4\u00e4\ntietoja kahdesta avaimesta: `name` ja `doc`. `name`-avain sis\u00e4lt\u00e4\u00e4 k\u00e4\u00e4nnetyn avainsanan nimen ja `doc` sis\u00e4lt\u00e4\u00e4\nk\u00e4\u00e4nnetyn avainsanan dokumentaation. Dokumentaation ja nimen tarjoaminen on valinnainen, esimerkkik\u00e4\u00e4nn\u00f6stiedosto voi\nsis\u00e4lt\u00e4\u00e4 vain k\u00e4\u00e4nn\u00f6kset avainsanan nimiin tai vain dokumentaatioon. On kuitenkin aina suositeltavaa tarjota k\u00e4\u00e4nn\u00f6s\nsek\u00e4 nimelle ett\u00e4 dokumentaatiolle.\n\nOletusarvoinen k\u00e4\u00e4nn\u00f6stiedosto, englanninkielinen, voidaan luoda suorittamalla\n`rfbrowser translation /polku/kohti/k\u00e4\u00e4nn\u00f6stiedostoa.json` -komento. Komento ei tarjoa k\u00e4\u00e4nn\u00f6ksi\u00e4 muille\nkielille, se tarjoaa vain helpon tavan luoda t\u00e4ydellinen luettelo k\u00e4\u00e4nnettyj\u00e4 avainsanoja ja niiden dokumentaatiota\noikeassa muodossa. On my\u00f6s mahdollista lis\u00e4t\u00e4 avainsanoja kirjaston laajennuksista ja js-laajennuksista\nantamalla `--plugings` ja `--jsextension` -argumentit komennolle. Esimerkki:\n`rfbrowser translation --plugings myplugin.SomePlugin --jsextension /polku/kohti/js-laajennusta.js /polku/kohti/k\u00e4\u00e4nn\u00f6stiedostoa.json`",
"sha256": "d62f2dd639cf0a2f04320ed6f9d73200caecf8f7635ea12d9441f22c9845b0e4"
},
"__intro__": {
"name": "__intro__",
"doc": "Browser kirjasto on selainten automaatiokirjasto Robot Frameworkille.\n\n T\u00e4m\u00e4 on avainsanadokumentaatio Browser-kirjastolle. Lis\u00e4tietoja\n asennuksesta, tuesta ja muista aiheista l\u00f6yd\u00e4t\n [https://github.com/MarketSquare/robotframework-playwright|projektin sivuilta].\n Lis\u00e4tietoja Robot Frameworkista l\u00f6yd\u00e4t osoitteesta [https://robotframework.org|robotframework.org].\n\n Browser-kirjasto k\u00e4ytt\u00e4\u00e4\n [https://github.com/microsoft/playwright|Playwright Node-moduulia]\n automatisoidakseen [https://www.chromium.org/Home|Chromiumin],\n [https://www.mozilla.org/en-US/firefox/new/|Firefoxin]\n ja [https://webkit.org/|WebKitin] yhdell\u00e4 kirjastolla.\n\n\n == Sis\u00e4llysluettelo ==\n\n %TOC%\n\n = Selain, Konteksti ja Sivu =\n\n Browser-kirjasto toimii kolmella eri tasolla, jotka rakentuvat p\u00e4\u00e4llekk\u00e4in:\n *Selain*, *Konteksti* ja *Sivu*.\n\n\n == Selaimet ==\n\n *Selain* voidaan k\u00e4ynnist\u00e4\u00e4 yhdell\u00e4 kolmesta\n eri moottorista: Chromium, Firefox tai Webkit.\n\n === Tuetut Selaimet ===\n\n | Selain | Selain t\u00e4ll\u00e4 moottorilla |\n | ``chromium`` | Google Chrome, Microsoft Edge (vuodesta 2020), Opera |\n | ``firefox`` | Mozilla Firefox |\n | ``webkit`` | Apple Safari, Mail, AppStore MacOS- ja iOS-laitteissa|\n\n Koska [https://github.com/microsoft/playwright|Playwright] sis\u00e4lt\u00e4\u00e4 valmiiksi\n paketin kaikista selaimista, ei tarvita lis\u00e4ajureita kuten geckodriveria.\n\n Kaikkia n\u00e4it\u00e4 selaimia, jotka kattavat yli 85% maailmanlaajuisesti k\u00e4ytetyist\u00e4 selaimista,\n voidaan testata Windowsilla, Linuxilla ja Macilla.\n Erillisi\u00e4 koneita ei en\u00e4\u00e4 tarvita.\n\n Selaimen prosessi k\u00e4ynnistyy oletuksena 'headless'-tilassa (ilman graafista k\u00e4ytt\u00f6liittym\u00e4\u00e4).\n Aja `New Browser` m\u00e4\u00e4ritetyill\u00e4 argumenteilla, jos halutaan selain, jossa on graafinen k\u00e4ytt\u00f6liittym\u00e4,\n tai jos v\u00e4lityspalvelin on m\u00e4\u00e4ritett\u00e4v\u00e4.\n Selaimen prosessi voi sis\u00e4lt\u00e4\u00e4 useita konteksteja.\n\n\n == Kontekstit ==\n\n *Konteksti* vastaa joukkoa riippumattomia incognito-sivuja selaimessa,\n jotka jakavat ev\u00e4steet, istunnot tai profiiliasetukset. Kahden erillisen\n kontekstin sivut eiv\u00e4t jaa ev\u00e4steit\u00e4, istuntoja tai profiiliasetuksia.\n Toisin kuin Selenium, n\u00e4m\u00e4 eiv\u00e4t vaadi omaa selainprosessia.\n Saadakseen puhtaan ymp\u00e4rist\u00f6n testi voi vain avata uuden kontekstin.\n T\u00e4m\u00e4n ansiosta uusia riippumattomia selainsessioita voidaan avata\n Robot Framework Browserilla noin 10 kertaa nopeammin kuin Seleniumilla\n pelk\u00e4st\u00e4\u00e4n avaamalla `New Context` avatun selaimen sis\u00e4ll\u00e4.\n\n Sivujen jakamiseksi samassa suitessa k\u00e4yt\u00e4 samaa kontekstia avaamalla\n kontekstin `New Context`-toiminnolla suiten asetuksissa.\n\n Kontekstikerros on hy\u00f6dyllinen esimerkiksi eri k\u00e4ytt\u00e4j\u00e4istuntojen testaamiseen\n samalla verkkosivulla avaamatta kokonaan uutta selainkontekstia.\n Konteksteilla voi olla my\u00f6s yksityiskohtaisia m\u00e4\u00e4rityksi\u00e4, kuten maantieteellinen\n sijainti, kieliasetukset, n\u00e4kym\u00e4koon tai v\u00e4riskaala. Kontekstit tukevat\n my\u00f6s http-tunnusten asettamista, jotta perusautentikointia voidaan testata.\n Tiedostojen lataamiseksi testin aikana `New Context`-toiminnolle on\n asetettava `acceptDownloads`-argumentiksi arvo `True`. Yhdess\u00e4 kontekstissa\n voi olla erilaisia sivuja.\n\n\n == Sivut ==\n\n *Sivu* sis\u00e4lt\u00e4\u00e4 ladatun verkkosivuston sis\u00e4ll\u00f6n ja selailuhistorian.\n Sivut ja selaimen v\u00e4lilehdet ovat samat.\n\n Tyypillist\u00e4 k\u00e4ytt\u00f6\u00e4 voisi olla:\n | *** Testitapaukset ***\n | Selaimen avaaminen sivulla\n | New Browser chromium headless=false\n | New Context viewport={'width': 1920, 'height': 1080}\n | New Page https://marketsquare.github.io/robotframework-browser/Browser.html\n | Get Title == Browser\n\n `Open Browser`-avainsana avaa uuden selaimen, uuden kontekstin ja uuden sivun.\n T\u00e4m\u00e4 avainsana on hy\u00f6dyllinen nopeisiin kokeiluihin tai vianm\u00e4\u00e4rityssessioihin.\n\n Kun `New Page`-toimintoa kutsutaan ilman avointa selainta, ensin suoritetaan\n `New Browser` ja `New Context` oletusarvoilla.\n\n Jokaisella selaimella, kontekstilla ja sivulla on ainutlaatuinen tunniste,\n jolla ne voidaan tunnistaa. Kaikki avoinna oleva sis\u00e4lt\u00f6 voidaan hakea\n `Get Browser Catalog`-toiminnolla sanakirjana.\n\n = Automaattinen sivun ja kontekstin sulkeminen =\n\n %AUTO_CLOSING_LEVEL%\n\n = Elementtien l\u00f6yt\u00e4minen =\n\n Kaikki kirjaston avainsanat, jotka tarvitsevat vuorovaikutusta elementin\n kanssa verkkosivulla, ottavat argumentin, joka yleens\u00e4 on nimelt\u00e4\u00e4n ``selector``\n ja joka m\u00e4\u00e4ritt\u00e4\u00e4, miten elementti l\u00f6ydet\u00e4\u00e4n. Avainsanat voivat l\u00f6yt\u00e4\u00e4 elementtej\u00e4 tiukassa\n tilassa. Jos tiukka tila on tosi ja sijainnin avulla l\u00f6ytyy useita elementtej\u00e4 sivulta,\n avainsana ep\u00e4onnistuu. Jos avainsana l\u00f6yt\u00e4\u00e4 yhden elementin, avainsana ei ep\u00e4onnistu\n tiukan tilan takia. Jos tiukka tila on ep\u00e4tosi, avainsana ei ep\u00e4onnistu, vaikka valitsin\n osoittaisi moniin elementteihin. Tiukka tila on oletuksena k\u00e4yt\u00f6ss\u00e4, mutta sit\u00e4 voidaan\n muuttaa kirjaston `importing` tai `Set Strict Mode`-avainsanalla. Avainsanan dokumentaatiossa\n ilmoitetaan, k\u00e4ytt\u00e4\u00e4k\u00f6 avainsana tiukkaa tilaa. Jos avainsana ei ilmoita k\u00e4ytt\u00e4v\u00e4ns\u00e4 tiukkaa\n tilaa, sit\u00e4 ei sovelleta avainsanaan. Lis\u00e4tietoja l\u00f6ytyy Playwrightin\n [https://playwright.dev/docs/api/class-page#page-query-selector|tiukasta dokumentaatiosta].\n\n Oletuksena tuetut valitsimen strategiat on lueteltu alla olevassa taulukossa.\n\n | = Strategia = | = Vastaa perusteella = | = Esimerkki = |\n | ``css`` | CSS-valitsin. | ``css=.class > \\#login_btn`` |\n | ``xpath`` | XPath-lauseke. | ``xpath=//input[@id='login_btn']`` |\n | ``text`` | Selaimen tekstimoodi. | ``text=Kirjaudu sis\u00e4\u00e4n`` |\n | ``id`` | Elementin tunnisteattribuutti.| ``id=login_btn`` |\n\n CSS-valitsimet voidaan tallentaa my\u00f6s k\u00e4ytt\u00e4en `Record selector`-avainsanaa.\n\n == Selaimen osoitinstrategia ==\n\n Selaimen osoitinstrategia m\u00e4\u00e4ritell\u00e4\u00e4n etuliitteell\u00e4 k\u00e4ytt\u00e4en syntaksia\n ``strategia=arvo``. Erikoismerkkien ymp\u00e4rill\u00e4 olevat v\u00e4lily\u00f6nnit j\u00e4tet\u00e4\u00e4n huomiotta, joten\n ``css=foo``, ``css= foo`` ja ``css = foo`` ovat kaikki samanarvoisia.\n\n\n == Implisiittinen osoitinstrategia ==\n\n *Oletusarvoinen osoitinstrategia on `css`.*\n\n Jos osoitin ei sis\u00e4ll\u00e4 yht\u00e4 tunnetuista eksplisiittisist\u00e4 osoitinstrategioista, sit\u00e4\n pidet\u00e4\u00e4n CSS-valitsimen\u00e4.\n\n Valitsimet, jotka alkavat merkill\u00e4 ``//`` tai ``..``, katsotaan xpath-valitsimiksi.\n\n Lainausmerkeill\u00e4 ymp\u00e4r\u00f6idyt valitsimet katsotaan tekstivalitsimiksi.\n\n Esimerkit:\n\n | # CSS-valitsimet ovat oletusarvoisia.\n | `Click` span > button.some_class # T\u00e4m\u00e4 vastaa\n | `Click` css=span > button.some_class # t\u00e4t\u00e4.\n |\n | # // tai .. johtavat xpath-valitsinstrategiaan\n | `Click` //span/button[@class='some_class']\n | `Click` xpath=//span/button[@class='some_class']\n |\n | # 'teksti' lainausmerkeiss\u00e4 johtaa tarkkaan tekstivalitsinstrategiaan\n | `Click` 'Kirjaudu sis\u00e4\u00e4n'\n | `Click` text='Kirjaudu sis\u00e4\u00e4n'\n\n\n == CSS ==\n\n Kuten aiemmin mainittiin, oletusarvoinen osoitinstrategia on `css`. Katso\n [https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Selectors | css-valitsin]\n lis\u00e4tietoja varten.\n\n Mik\u00e4 tahansa virheellinen valitsin, joka ei ala merkill\u00e4 ``//`` tai ``..`` eik\u00e4 ala ja p\u00e4\u00e4ttyy\n lainausmerkkiin, katsotaan css-valitsimeksi.\n\n Huomaa, ett\u00e4 ``#`` on kommenttimerkki [https://robotframework.org/robotframework/latest/RobotFrameworkUserGuide.html#ignored-data | Robot Frameworkin syntaksissa] ja sen t\u00e4ytyy\n olla poistettu k\u00e4yt\u00f6st\u00e4 kuten ``\\#``, jotta se toimisi [https://developer.mozilla.org/en-US/docs/Web/CSS/ID_selectors | css ID -valitsimena].\n\n Esimerkit:\n | `Click` span > button.some_class\n | `Get Text` \\#k\u00e4ytt\u00e4j\u00e4tunnuskentt\u00e4 == Jorma\n\n\n == XPath ==\n\n XPath-moottori vastaa [https://developer.mozilla.org/en/docs/Web/API/Document/evaluate|Document.evaluate].\n Esimerkki: ``xpath=//html/body//span[text()='Hei maailma']``.\n\n Virheellinen valitsin, joka alkaa merkill\u00e4 ``//`` tai ``..``, katsotaan xpath-valitsimeksi.\n Esimerkiksi ``//html/body`` muunnetaan muotoon ``xpath=//html/body``. Lis\u00e4\u00e4\n esimerkkej\u00e4 n\u00e4ytet\u00e4\u00e4n `Esimerkit`-osiossa.\n\n Huomaa, ett\u00e4 xpath ei tunnista [https://developer.mozilla.org/en-US/docs/Web/Web_Components/Using_shadow_DOM|varjojuuria].\n\n\n == Teksti ==\n\n Teksti-moottori l\u00f6yt\u00e4\u00e4 elementin, joka sis\u00e4lt\u00e4\u00e4 v\u00e4litetyn tekstin sis\u00e4lt\u00e4v\u00e4n tekstisolmun.\n Esimerkiksi ``Click text=Kirjaudu sis\u00e4\u00e4n`` klikkaa kirjautumispainiketta, ja\n ``Wait For Elements State text='laiska ladattu teksti'`` odottaa 'laiska ladattu teksti'\n ilmestymist\u00e4 sivulle.\n\n Teksti-moottori l\u00f6yt\u00e4\u00e4 kent\u00e4t niiden teksteihin perustuvien etikettien mukaan teksti\u00e4 sy\u00f6tt\u00e4viss\u00e4 avainsanoissa.\n\n Virheellinen valitsin, joka alkaa ja p\u00e4\u00e4ttyy lainausmerkill\u00e4 (joko ``''`` tai ``'``), katsotaan\n tekstivalitsimeksi. Esimerkiksi ``Click 'Kirjaudu sis\u00e4\u00e4n'`` muunnetaan muotoon ``Click text='Kirjaudu sis\u00e4\u00e4n'``.\n Huomaa, ett\u00e4 n\u00e4m\u00e4 johtavat vain t\u00e4sm\u00e4llisiin osumiin!\n Lis\u00e4\u00e4 esimerkkej\u00e4 n\u00e4ytet\u00e4\u00e4n `Esimerkit`-osiossa.\n\n\n === Ei-herkk\u00e4 osuma ===\n\n Oletusarvoisesti osuma on kirjainkoosta riippumaton, j\u00e4tt\u00e4\u00e4 huomiotta johtavat/p\u00e4\u00e4ttyv\u00e4t v\u00e4lily\u00f6nnit ja\n etsii alimerkkijonoa. T\u00e4m\u00e4 tarkoittaa, ett\u00e4 ``text= Kirjaudu sis\u00e4\u00e4n`` vastaa\n ``<button>Painike kIRJAUDU SIS\u00c4\u00c4N (klikkaa minua)</button>``.\n\n === Tarkka osuma ===\n\n Tekstirunko voidaan p\u00e4\u00e4tt\u00e4\u00e4 yksin- tai tuplalainausmerkeill\u00e4 tarkkaa osumaa varten,\n vaatien tarkkaa osumaa, mukaan lukien m\u00e4\u00e4ritetyt v\u00e4lily\u00f6nnit ja kirjainkoko.\n T\u00e4m\u00e4 tarkoittaa, ett\u00e4 ``text='Kirjaudu '`` vastaa vain ``<button>Kirjaudu </button>`` yhdell\u00e4 v\u00e4lily\u00f6nnill\u00e4\n 'Kirjaudu'-tekstin j\u00e4lkeen. Lainatun tekstin mukaisesti noudatetaan tavallisia poistumiss\u00e4\u00e4nt\u00f6j\u00e4, esimerkiksi\n k\u00e4yt\u00e4 ``\\'`` tuplalainatun merkkijonon tuplalainauksen poistamiseen: ``text='foo\\'bar'``.\n\n === S\u00e4\u00e4nn\u00f6lliset lausekkeet ===\n\n Tekstirunko voi olla my\u00f6s JavaScript-tyyppinen s\u00e4\u00e4nn\u00f6llinen lauseke /-merkkien sis\u00e4ll\u00e4.\n T\u00e4m\u00e4 tarkoittaa, ett\u00e4 ``text=/^hei .*!$/i`` tai ``text=/^Hei .*!$/`` vastaa ``<span>Hei Peter Parker!</span>``\n mill\u00e4 tahansa nimell\u00e4 'Hei'-tekstin j\u00e4lkeen, joka p\u00e4\u00e4ttyy ``!``.\n Ensimm\u00e4inen on merkitty ``i``:ll\u00e4 kirjainkoosta riippumattomana. Katso lis\u00e4tietoja s\u00e4\u00e4nn\u00f6llisist\u00e4 lausekkeista\n osoitteesta [https://regex101.com/|https://regex101.com].\n\n === Painikkeiden ja L\u00e4het\u00e4-arvojen ===\n\n Tyypin painike ja l\u00e4hett\u00e4\u00e4 sis\u00e4\u00e4n sy\u00f6tt\u00f6elementit n\u00e4ytet\u00e4\u00e4n niiden arvona tekstin\u00e4,\n ja tekstimoottori l\u00f6yt\u00e4\u00e4 ne. Esimerkiksi ``text=Kirjaudu sis\u00e4\u00e4n`` vastaa\n ``<input type=button value='Kirjaudu sis\u00e4\u00e4n'>``.\n\n == Ketjutetun valitsinsyntaksin ==\n\n Browser-kirjasto tukee samoja valitsinsuunnitelmia kuin pohjalla oleva\n Playwrightin node-moduuli: xpath, css, id ja text. Strategia voi joko\n olla nimenomaan m\u00e4\u00e4ritelty etuliitteell\u00e4 tai strategia voi olla implisiittinen.\n\n Browserin suuri etu on, ett\u00e4 useita valitsinmoottoreita voidaan k\u00e4ytt\u00e4\u00e4\n yhdess\u00e4 valitsimessa. On mahdollista sekoittaa XPath-, CSS- ja Teksti-valitsimia samalla\n kun valitaan yht\u00e4 elementti\u00e4.\n\n Valitsimet ovat merkkijonoja, jotka koostuvat yhdest\u00e4 tai useammasta lausekkeesta, jotka erotetaan\n ``>>`` -merkill\u00e4, esim. ``lause1 >> lause2 >> lause3``. Kun useita lausekkeita\n on l\u00e4sn\u00e4, seuraava kysyt\u00e4\u00e4n suhteessa edellisen tulokseen.\n Browser-kirjasto tukee eri valitsimien yhdist\u00e4mist\u00e4, jotka on erotettu ``>>``:ll\u00e4.\n\n Esimerkiksi:\n | `Korosta Elementit` 'Hei' >> ../.. >> .valitse_painike\n | `Korosta Elementit` text=Hei >> xpath=../.. >> css=.valitse_painike\n\n Jokainen lause sis\u00e4lt\u00e4\u00e4 valitsinmoottorin nimen ja valitsimen rungon, esim.\n ``moottori=body``. T\u00e4ss\u00e4 ``moottori`` on yksi tuetuista moottoreista (esim. css tai\n oma). Valitsin ``runko`` noudattaa tietyn moottorin muotoa,\n esimerkiksi css-moottoria varten sen pit\u00e4isi olla [https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Selectors | css-valitsin].\n Runkomuoto oletetaan j\u00e4tt\u00e4v\u00e4n johtavat ja p\u00e4\u00e4ttyv\u00e4t v\u00e4lily\u00f6nnit huomiotta,\n jotta ylim\u00e4\u00e4r\u00e4isi\u00e4 v\u00e4lily\u00f6ntej\u00e4 voidaan lis\u00e4t\u00e4 luettavuuden vuoksi. Jos valitsin\n moottorin tarvitsee sis\u00e4llytt\u00e4\u00e4 ``>>`` runkoon, sen tulisi olla pakotettu\n merkkijonon sis\u00e4ll\u00e4, jotta sit\u00e4 ei sekoiteta lauseen erottimeen,\n esim. ``text='jotain >> teksti\u00e4'``.\n\n Valitsinmoottorin nimi voidaan edelt\u00e4\u00e4 ``*``:lla vangitakseen elementin,\n joka vastaa tietty\u00e4 lauseketta viimeisen sijaan. Esimerkiksi,\n ``css=artikkeli >> text=Hei`` vangitsee elementin, jossa on teksti ``Hei``,\n ja ``*css=artikkeli >> text=Hei`` (huomaa *) vangitsee artikkelielementin\n joka sis\u00e4lt\u00e4\u00e4 jonkin elementin tekstin Hei.\n\n Mukavuuden vuoksi valitsimet v\u00e4\u00e4r\u00e4ss\u00e4 muodossa muunnetaan heuristisesti\n oikeaan muotoon. Katso `Implisiittinen valitsimen strategia`\n\n == Esimerkit ==\n | # hakee 'div' css-valitsimen\n | Hae Elementti css=div\n |\n | # hakee '//html/body/div' xpath-valitsimen\n | Hae Elementti //html/body/div\n |\n | # hakee ''foo' tekstivalitsimen\n | Hae Elementti text=foo\n |\n | # hakee 'span' css-valitsimen '//html/body/div' xpath-valitsimen tuloksen sis\u00e4lt\u00e4\n | Hae Elementti xpath=//html/body/div >> css=span\n |\n | # muutetaan 'css=div':ksi\n | Hae Elementti div\n |\n | # muutetaan 'xpath=//html/body/div':ksi\n | Hae Elementti //html/body/div\n |\n | # muutetaan 'text='foo':ksi\n | Hae Elementti 'foo'\n |\n | # hakee joka toisen span-elementin div-elementist\u00e4, jolla on tunniste foo\n | Hae Elementti \\#foo >> css=span:nth-child(2n+1) >> div\n | Hae Elementti id=foo >> css=span:nth-child(2n+1) >> div\n\n Huomaa, ett\u00e4 ``#``:n k\u00e4ytt\u00f6 Robot Frameworkissa tulkittaisiin kommenttina.\n T\u00e4m\u00e4n seurauksena ``#id`` on pakko muuttaa muotoon ``\\#id``.\n\n == iFramet ==\n\n Oletusarvoisesti valitsinketjut eiv\u00e4t ylit\u00e4 kehyksen rajoja. T\u00e4m\u00e4 tarkoittaa, ett\u00e4\n yksinkertainen CSS-valitsin ei pysty valitsemaan elementti\u00e4, joka sijaitsee iframe:ss\u00e4\n tai kehyssarjassa. T\u00e4ss\u00e4 k\u00e4ytt\u00f6tapauksessa on erityinen valitsin ``>>>``, jota voidaan\n k\u00e4ytt\u00e4\u00e4 yhdist\u00e4m\u00e4\u00e4n kehyksen valitsin ja valitsin elementille\n sis\u00e4ll\u00e4 kehyksess\u00e4.\n\n Otetaan t\u00e4m\u00e4 yksinkertainen pseudohtml-p\u00e4tk\u00e4:\n | <iframe id='iframe' src='src.html'>\n | #document\n | <!DOCTYPE html>\n | <html>\n | <head></head>\n | <body>\n | <button id='btn'>Click Me</button>\n | </body>\n | </html>\n | </iframe>\n\n T\u00e4ss\u00e4 on avainsanakutsu, joka napsauttaa painiketta kehyksess\u00e4.\n\n | Napsauta id=iframe >>> id=btn\n\n ``>>>``:n vasemmalla ja oikealla puolella olevat valitsimet voivat olla mit\u00e4 tahansa kelvollisia valitsimia.\n Valitsimen lause heti kehyksen avaajan ``>>>`` edess\u00e4 on valittava itse kehyselementti.\n Kehyksen valinta on ainoa paikka, jossa Browser Library muokkaa valitsinta, kuten yll\u00e4 on selitetty.\n Kaikissa tapauksissa kirjasto ei muuta valitsinta mill\u00e4\u00e4n tavalla, sen sijaan se v\u00e4litet\u00e4\u00e4n sellaisenaan\n Playwright-puolelle.\n\n Jos useita avainsanoja on suoritettava kehyksess\u00e4,\n on mahdollista m\u00e4\u00e4ritt\u00e4\u00e4 valitsimen etuliite k\u00e4ytt\u00e4m\u00e4ll\u00e4 `Aseta Valitsimen Etuliite`.\n Jos t\u00e4m\u00e4 etuliite asetetaan kehykselle/iframe:lle, sill\u00e4 on samanlainen toiminta kuin SeleniumLibrary-avainsanalla `Valitse Kehys`.\n\n == Web-komponentit ja Varjo-DOM ==\n\n Playwright ja siten my\u00f6s Browser pystyv\u00e4t automaattisesti l\u00e4p\u00e4isem\u00e4\u00e4n Varjo-DOM:it\n ja ovat siksi parhaita automaatioteknologioita ty\u00f6skennelt\u00e4ess\u00e4 Web-komponenttien kanssa.\n\n My\u00f6s muut teknologiat v\u00e4itt\u00e4v\u00e4t pystyv\u00e4ns\u00e4 k\u00e4sittelem\u00e4\u00e4n\n [https://developer.mozilla.org/en-US/docs/Web/Web_Components/Using_shadow_DOM|Varjo-DOM:ia ja Web-komponentteja].\n Kuitenkaan yksik\u00e4\u00e4n niist\u00e4 ei l\u00e4p\u00e4ise varjorakenteita automaattisesti.\n mik\u00e4 voi olla hankalaa ty\u00f6skennelt\u00e4ess\u00e4 Varjo-DOM:in ja Web-komponenttien kanssa.\n\n T\u00e4m\u00e4n vuoksi css-moottori l\u00e4p\u00e4isee varjorakenteet. Tarkemmin sanottuna jokainen\n [https://developer.mozilla.org/en-US/docs/Web/CSS/Descendant_combinator|J\u00e4lkel\u00e4issuodatin]\n l\u00e4p\u00e4isee mielivaltaisen m\u00e4\u00e4r\u00e4n avoimia varjorakenteita, mukaan lukien\n implisiittinen j\u00e4lkel\u00e4issuodatin valitsimen alussa.\n\n Se tarkoittaa, ettei ole tarpeen valita jokaista varjo-is\u00e4nt\u00e4\u00e4, avata sen varjorakennetta ja\n valita seuraava varjo-is\u00e4nt\u00e4, kunnes saavutetaan elementti, jota halutaan hallita.\n\n === CSS:light ===\n\n ``css:light``-moottori vastaa [https://developer.mozilla.org/en/docs/Web/API/Document/querySelector | Document.querySelector]\n ja k\u00e4ytt\u00e4ytyy CSS-spesifikaation mukaisesti.\n Kuitenkaan se ei l\u00e4p\u00e4ise varjorakenteita.\n\n ``css``-moottori etsii ensin elementtej\u00e4 valo-domissa iterointij\u00e4rjestyksess\u00e4,\n ja sitten rekursiivisesti avoimien varjorakenteiden sis\u00e4ll\u00e4 iterointij\u00e4rjestyksess\u00e4. Se ei\n etsi suljettujen varjorakenteiden tai iframien sis\u00e4lt\u00e4.\n\n Esimerkit:\n\n | <article>\n | <div>Valo-domissa</div>\n | <div slot='myslot'>Valo-domissa, mutta menee varjon paikkaan</div>\n | <open mode shadow root>\n | <div class='varjossa'>\n | <span class='sis\u00e4lt\u00f6'>\n | Varjo-domissa\n | <open mode shadow root>\n | <li id='kohde'>Syv\u00e4ll\u00e4 varjossa</li>\n | </open mode shadow root>\n | </span>\n | </div>\n | <slot name='myslot'></slot>\n | </open mode shadow root>\n | </article>\n\n Huomaa, ett\u00e4 ``<open mode shadow root>`` ei ole html-elementti, vaan pikemminkin varjorakenne\n luotu ``element.attachShadow({mode: 'open'})``.\n\n - Sek\u00e4 ``'css=article div'`` ett\u00e4 ``'css:light=article div'`` vastaavat ensimm\u00e4ist\u00e4 ``<div>Valo-domissa</div>``.\n - Sek\u00e4 ``'css=article > div'`` ett\u00e4 ``'css:light=article > div'`` vastaavat kahta ``div``-elementti\u00e4, jotka ovat suoraan ``article``:n lapsia.\n - ``'css=article .varjossa'`` vastaa ``<div class='varjossa'>``, l\u00e4p\u00e4isem\u00e4ll\u00e4 varjorakenteen, kun taas ``'css:light=article .varjossa'`` ei vastaa mit\u00e4\u00e4n.\n - ``'css:light=article div > span'`` ei vastaa mit\u00e4\u00e4n, koska molemmat valo-dom ``div``-elementit eiv\u00e4t sis\u00e4ll\u00e4 ``span``:ia.\n - ``'css=article div > span'`` vastaa ``<span class='sis\u00e4lt\u00f6'>``, l\u00e4p\u00e4isem\u00e4ll\u00e4 varjorakenteen.\n - ``'css=article > .varjossa'`` ei vastaa mit\u00e4\u00e4n, koska ``<div class='varjossa'>`` ei ole suora lapsi ``article``:lle\n - ``'css:light=article > .varjossa'`` ei vastaa mit\u00e4\u00e4n.\n - ``'css=article li#kohde'`` vastaa ``<li id='kohde'>Syv\u00e4ll\u00e4 varjossa</li>``, l\u00e4p\u00e4isem\u00e4ll\u00e4 kaksi varjorakennetta.\n\n '=== text:light ===\n\n ``text``-moottori l\u00e4p\u00e4isee varjo-rakenteet samalla tavalla kuin ``css``, kun taas ``text:light`` ei tee niin.\n Teksti-moottori etsii ensin elementtej\u00e4 valo-domissa iterointij\u00e4rjestyksess\u00e4, ja sitten\n rekursiivisesti avoimissa varjo-rakenteissa iterointij\u00e4rjestyksess\u00e4. Se ei etsi\n suljettujen varjo-rakenteiden tai iframien sis\u00e4lt\u00e4.\n\n === id, data-testid, data-test-id, data-test ja niiden :light-vastineet ===\n\n Attribuutti-moottorit valitsevat perustuen vastaavaan attribuutin arvoon.\n Esimerkiksi: ``data-test-id=foo`` on vastaava kuin ``css=[data-test-id='foo']``,\n ja ``id:light=foo`` on vastaava kuin ``css:light=[id='foo']``.\n\n == Elementin viitteen syntaksi ==\n\n On mahdollista saada viittaus paikannimeen k\u00e4ytt\u00e4m\u00e4ll\u00e4 `Get Element` ja `Get Elements` -avainsanoja.\n Avainsanat eiv\u00e4t tallenna viitett\u00e4 elementtiin HTML-dokumentissa, sen sijaan ne tallentavat viitteen Playwright\n [https://playwright.dev/docs/api/class-locator|Locator]-objektiin. Tiivistettyn\u00e4 Locator tallentaa logiikan, miten\n hakea kyseinen elementti sivulta. Joka kerta kun toiminto suoritetaan, paikannin etsii uudelleen elementit\n sivulta. T\u00e4t\u00e4 viitett\u00e4 voidaan k\u00e4ytt\u00e4\u00e4 *ensimm\u00e4isen\u00e4* osana valitsimessa k\u00e4ytt\u00e4m\u00e4ll\u00e4 erityist\u00e4 valitsimen\n syntaksia `element=`, kuten t\u00e4ss\u00e4:\n\n | ${viite}= Get Element .jokin_luokka\n | Click ${viite} >> .jokin_alin # Paikannin etsii elementin sivulta.\n | Click ${viite} >> .toinen_alin # Paikannin etsii j\u00e4lleen elementin sivulta.\n\n Esimerkin `.jokin_alin` ja `.toinen_alin` valitsimet ovat suhteessa ${viite}-viite-elementtiin. Huomaa, ett\u00e4\n kehysl\u00e4vistyst\u00e4 ei ole mahdollista suorittaa elementin viitteen kanssa.\n\n = V\u00e4itteet =\n\n Avainsanat, jotka hyv\u00e4ksyv\u00e4t argumentit ``assertion_operator`` <`AssertionOperator`> ja ``assertion_expected``\n voivat valinnaisesti v\u00e4itt\u00e4\u00e4, ett\u00e4 m\u00e4\u00e4ritetty ehto p\u00e4tee. Avainsanat palauttavat arvon my\u00f6s, kun\n v\u00e4ite suoritetaan avainsanalla.\n\n Assert-yrit\u00e4\u00e4 uudelleen ja ep\u00e4onnistuu vain m\u00e4\u00e4ritetyn aikakatkaisun j\u00e4lkeen.\n Katso `Tuo` ja ``retry_assertions_for`` (oletus on 1 sekunti) t\u00e4m\u00e4n aikakatkaisun m\u00e4\u00e4ritt\u00e4miseksi.\n\n\n %ASSERTION_TABLE%\n\n Oletuksena avainsanat tarjoavat virheviestin, jos v\u00e4ite ep\u00e4onnistuu.\n Oletusvirhesanomat voidaan ylikirjoittaa ``message``-argumentilla.\n ``message``-argumentti hyv\u00e4ksyy `{value}`, `{value_type}`, `{expected}` ja\n `{expected_type}` [https://docs.python.org/3/library/stdtypes.html#str.format|muoto]-vaihtoehdot.\n `{value}` on avainsanalla palautettu arvo ja `{expected}`\n on k\u00e4ytt\u00e4j\u00e4n m\u00e4\u00e4ritt\u00e4m\u00e4 odotettu arvo, yleens\u00e4 arvo ``assertion_expected``-argumentissa.\n `{value_type}` ja\n `{expected_type}` ovat tyyppim\u00e4\u00e4rittelyj\u00e4 `{value}` ja `{expected}`\n argumenteista. Samankaltaisesti kuin Pythonissa\n [https://docs.python.org/3/library/functions.html#type|type] palauttaa tyyppim\u00e4\u00e4rittelyn.\n V\u00e4itteet yritt\u00e4v\u00e4t uudelleen, kunnes ``timeout`` on vanhentunut, jos ne eiv\u00e4t l\u00e4p\u00e4ise.\n\n V\u00e4itteen ``assertion_expected``-arvoa ei muunneta kirjastossa ja\n sit\u00e4 k\u00e4ytet\u00e4\u00e4n sellaisenaan. Siksi v\u00e4itett\u00e4 teht\u00e4ess\u00e4 ``assertion_expected``\n argumentin arvon ja avainsanalla palautetun arvon on oltava samaa tyyppi\u00e4. Jos tyypit\n eiv\u00e4t ole samat, v\u00e4ite ep\u00e4onnistuu. Esimerkiksi `Get Text` palauttaa aina merkkijonon\n ja sit\u00e4 on verrattava merkkijonoon, vaikka palautettu arvo n\u00e4ytt\u00e4isi\n numerolta.\n\n Muilla avainsanoilla on muita tiettyj\u00e4 tyyppej\u00e4, joita ne palauttavat.\n `Get Element Count` palauttaa aina kokonaisluvun.\n `Get Bounding Box` ja `Get Viewport Size` voidaan suodattaa.\n Ne palauttavat sanakirjan ilman suodatinta ja numeron, kun suodatetaan.\n N\u00e4m\u00e4 avainsanat tekev\u00e4t automaattisen muunnoksen odotetulle arvolle, jos numero palautetaan.\n\n * < pienempi tai suurempi > Merkkijonojen kanssa*\n Merkkijonojen vertailu ``suurempi kuin`` tai ``pienempi kuin`` vertaa jokaista merkki\u00e4,\n aloittaen 0:sta siit\u00e4, miss\u00e4 se sijaitsee koodisivulla.\n Esimerkki: ``A < Z``, ``Z < a``, ``ac < dc`\n Se ei koskaan vertaa elementtien pituutta. Ei listoja eik\u00e4 merkkijonoja.\n Vertailu lopetetaan ensimm\u00e4iseen merkkiin, joka eroaa.\n Esimerkit: ``'abcde' < 'abd'``, ``'100.000' < '2'``\n Python 3:ssa ja siten my\u00f6s Browserissa numeroita ei voi verrata\n merkkijonojen kanssa suurempi tai pienempi operaattorin avulla.\n Avainsanoissa, jotka palauttavat numeroita, annettu odotettu arvo muunnetaan automaattisesti\n numeroksi ennen vertailua.\n\n\n Getterit `Get Page State` ja `Get Browser Catalog` palauttavat sanakirjan. Sanakirjan arvoja voidaan suoraan v\u00e4itt\u00e4\u00e4.\n Kiinnit\u00e4 huomiota mahdollisiin tyyppeihin, koska ne arvioidaan Pythonissa. Esimerkiksi:\n\n | Get Page State validate 2020 >= value['year'] # Numeroiden vertailu\n | Get Page State validate 'T\u00c4RKE\u00c4 VIESTI!' == value['message'] # Merkkijonojen vertailu\n\n == 'sitten' tai 'arvioi' sulkeuma ==\n\n Avainsanat, jotka hyv\u00e4ksyv\u00e4t argumentit ``assertion_operator`` ja ``assertion_expected``\n voivat valinnaisesti k\u00e4ytt\u00e4\u00e4 my\u00f6s ``sitten`` tai ``arvioi`` sulkeumaa muokatakseen palautettua arvoa\n BuiltIn Evaluate -toiminnolla. Todelliseen arvoon voidaan p\u00e4\u00e4st\u00e4 k\u00e4siksi ``value``:lla.\n\n Esimerkiksi ``Get Title sitten 'OTSIKKO: '+value``.\n Katso\n [https://robotframework.org/robotframework/latest/libraries/BuiltIn.html#Evaluating%20expressions|\n Builtin Evaluating expressions]\n lis\u00e4tietoja syntaksista.\n\n == Esimerkit ==\n\n | # *Avainsana* *Valitsin* *Avain* *V\u00e4iteoperaattori* *Odotettu v\u00e4ite*\n | Get Title equal Sivun otsikko\n | Get Title ^= Sivu\n | Get Style //*[@id='div-element'] leveys > 100\n | Get Title matches \\\\w+\\\\s\\\\w+\n | Get Title validate arvo == 'Kirjautumissivu'\n | Get Title evaluate arvo jos arvo == 'jokin arvo' muuten 'jotain muuta'\n\n\n = Implisiittinen odottaminen =\n\n Selaimen kirjastolla ja Playwrightill\u00e4 on monia mekanismeja auttamaan odottamisessa elementtien kohdalla.\n Playwright odottaa automaattisesti ennen kuin suorittaa toimintoja elementeill\u00e4.\n Lis\u00e4tietoja on saatavilla [https://playwright.dev/docs/actionability/ | Playwrightin dokumentaatiosta]\n auto-odotuksesta.\n\n Lis\u00e4ksi Playwrightin automaattisen odotuksen lis\u00e4ksi Browserin v\u00e4itteet odottavat ja yritt\u00e4v\u00e4t uudelleen\n m\u00e4\u00e4ritellyn ajan ennen kuin ep\u00e4onnistuvat mist\u00e4\u00e4n `V\u00e4itteist\u00e4`.\n Aika m\u00e4\u00e4ritell\u00e4\u00e4n Browser-kirjaston alustuksessa ``retry_assertions_for``-parametrilla.\n\n Browser-kirjastoon sis\u00e4ltyy my\u00f6s eksplisiittisi\u00e4 odotusavainsanoja, kuten `Wait for Elements State`,\n jos tarvitaan enemm\u00e4n kontrollia odottamiseen.\n\n = Kokeellinen: Samaa node-prosessia k\u00e4ytt\u00e4minen =\n\n Browser-kirjasto on integroitu Node.js:\u00e4\u00e4n ja Pythoniin. NodeJS-puoli voidaan my\u00f6s suorittaa itsen\u00e4isen\u00e4 prosessina.\n Browser-kirjastot, jotka toimivat samalla koneella, voivat kommunikoida sen kanssa sen sijaan, ett\u00e4 ne k\u00e4ynnist\u00e4v\u00e4t uusia node-prosesseja.\n T\u00e4m\u00e4 voi nopeuttaa suoritusta, kun testej\u00e4 suoritetaan rinnakkain.\n Node-puolen k\u00e4ynnist\u00e4miseksi aja hakemistossa, jossa Browser-paketti on\n ``PLAYWRIGHT_BROWSERS_PATH=0 node Browser/wrapper/index.js PORT``.\n\n ``PORT`` on portti, jota haluat k\u00e4ytt\u00e4\u00e4 node-prosessille.\n Suorittaaksesi sitten testej\u00e4 esimerkiksi pabotilla tee ``ROBOT_FRAMEWORK_BROWSER_NODE_PORT=PORT pabot ..``.\n\n = Kokeellinen: Parametrien tarjoaminen node-prosessille =\n\n Browser-kirjasto on integroitu Node.js:iin ja Pythoniin. Browser-kirjasto k\u00e4ynnist\u00e4\u00e4 node-prosessin kommunikoidakseen\n Playwright API:n kanssa NodeJS-puolella. K\u00e4ynnistetyn node-prosessin parametrien m\u00e4\u00e4ritt\u00e4minen on mahdollista m\u00e4\u00e4rittelem\u00e4ll\u00e4\n ROBOT_FRAMEWORK_BROWSER_NODE_DEBUG_OPTIONS-ymp\u00e4rist\u00f6muuttuja ennen testisuorituksen aloittamista. Esimerkiksi:\n ``ROBOT_FRAMEWORK_BROWSER_NODE_DEBUG_OPTIONS=--inspect;robot polku/testeihin``.\n Ymp\u00e4rist\u00f6muuttujaan voi m\u00e4\u00e4ritt\u00e4\u00e4 useita argumentteja ja argumentit on erotettava pilkulla.\n\n = K\u00e4ytt\u00f6alan m\u00e4\u00e4rittely =\n\n Joillakin kirjaston asetuksia manipuloivilla avainsanoilla on soveltamisala-argumentti.\n T\u00e4ll\u00e4 soveltamisala-argumentilla voi asettaa kyseisen asetuksen 'elinaikaa'.\n K\u00e4ytett\u00e4viss\u00e4 olevat soveltamisalat ovat: `Global`, `Suite` ja `Test`/`Task`\n Katso `Scope`.\n Kun soveltamisala p\u00e4\u00e4ttyy, t\u00e4t\u00e4 soveltamisalaa, kuten aikakatkaisua, ei en\u00e4\u00e4 k\u00e4ytet\u00e4.\n\n Elinaikojen m\u00e4\u00e4rittely:\n - `Global`-soveltamisala el\u00e4\u00e4 ikuisesti, kunnes se korvataan toisella `Global`-soveltamisalalla. Tai sit\u00e4 voidaan paikallisesti v\u00e4liaikaisesti ohittaa kapeammalla soveltamisalalla.\n - `Suite`-soveltamisala korvaa paikallisesti `Global`-soveltamisalan ja el\u00e4\u00e4 siihen liittyv\u00e4n Suite-luokan loppuun asti, tai jos sit\u00e4 korvataan my\u00f6hemm\u00e4ll\u00e4 asetuksella `Global`- tai samalla soveltamisalalla. Ala-sarjat periv\u00e4t asetuksen yl\u00e4sarjalta, mutta voivat my\u00f6s omata oman paikallisen `Suite`-asetuksen, joka periytyy sen alasarjoille.\n - `Test`- tai `Task`-soveltamisala perit\u00e4\u00e4n sen yl\u00e4sarjalta, mutta kun se on asetettu, se el\u00e4\u00e4 kyseisen testin tai teht\u00e4v\u00e4n loppuun asti.\n\n Uuden asetuksen korkeamman asteen soveltamisala poistaa aina alemman asteen soveltamisalan, joka saattaa olla vastuussa.\n Joten `Suite`-soveltamisalan asetus testist\u00e4 asettaa kyseisen soveltamisalan robot-tiedoston Suite-luokkaan, jossa kyseinen testi on, ja poistaa mahdollisen `Test`-soveltamisalan, joka saattaa olla voimassa.\n\n = Selainkirjaston laajentaminen JavaScript-moduulilla =\n\n Selainkirjastoa voidaan laajentaa JavaScriptill\u00e4. Moduulin on oltava CommonJS-muodossa, jota Node.js k\u00e4ytt\u00e4\u00e4.\n Voit k\u00e4\u00e4nt\u00e4\u00e4 ES6-moduulisi Node.js CommonJS-tyyliin Babylle. Monia muita kieli\u00e4\n voidaan my\u00f6s k\u00e4\u00e4nt\u00e4\u00e4 moduuleiksi, joita voidaan k\u00e4ytt\u00e4\u00e4 Node.js:st\u00e4. Esimerkiksi TypeScript, PureScript ja\n ClojureScript mainitakseni muutamia.\n\n | async function myGoToKeyword(url, args, page, logger, playwright) {\n | logger(args.toString())\n | playwright.coolNewFeature()\n | return await page.goto(url);\n | }\n\n Funktiot voivat sis\u00e4lt\u00e4\u00e4 mink\u00e4 tahansa m\u00e4\u00e4r\u00e4n argumentteja ja argumenteilla voi olla oletusarvoja.\n\n Joitakin varattuja argumentteja, joille ei ole p\u00e4\u00e4sy\u00e4 Robot Frameworkin puolelta, on olemassa.\n Ne injektoidaan funktioon, jos ne ovat argumenteissa:\n\n ``page``: [https://playwright.dev/docs/api/class-page|playwright-sivun objekti].\n\n ``args``: loput arvot Robot Frameworkin avainsanakutsusta ``*args``.\n\n ``logger``: takaisinkutsufunktio, joka ottaa merkkijonot argumenteiksi ja kirjoittaa ne robottilogiin. Sit\u00e4 voidaan kutsua useita kertoja.\n\n ``playwright``: playwright-moduuli (* from 'playwright'). Hy\u00f6dyllinen yhdistett\u00e4v\u00e4ksi Playwright-ominaisuuksiin, joita Selainkirjasto ei tue omilla avainsanoillaan. [https://playwright.dev/docs/api/class-playwright| API-dokumentit]\n\n my\u00f6s argumenttinime\u00e4 ``self`` ei voi k\u00e4ytt\u00e4\u00e4.\n\n == Esimerkkimoduuli.js ==\n\n | async function myGoToKeyword(pageUrl, page) {\n | await page.goto(pageUrl);\n | return await page.title();\n | }\n | exports.__esModule = true;\n | exports.myGoToKeyword = myGoToKeyword;\n\n == Esimerkki Robot Framework -puolelta ==\n\n | *** Asetukset ***\n | Kirjasto Browser jsextension=${CURDIR}/module.js\n |\n | *** Testitapaukset ***\n | Hei\n | Uusi sivu\n | ${title}= myGoToKeyword https://playwright.dev\n | T\u00e4ytyy olla yht\u00e4 suuri ${title} Playwright\n\n My\u00f6s valitsinsyntaksia voidaan laajentaa mukautetulla valitsimella k\u00e4ytt\u00e4en js-moduulia\n\n == Esimerkkimoduuliavainsana mukautetun valitsimen rekister\u00f6imiseksi ==\n\n | async function registerMySelector(playwright) {\n | playwright.selectors.register('myselector', () => ({\n | // Palauttaa ensimm\u00e4isen elementin, joka vastaa annettua valitsinta juuren alipuussa.\n | query(root, selector) {\n | return root.querySelector(`a[data-title='${selector}']`);\n | },\n |\n | // Palauttaa kaikki annetun valitsimen vastaavat elementit juuren alipuussa.\n | queryAll(root, selector) {\n | return Array.from(root.querySelectorAll(`a[data-title='${selector}']`));\n | }\n | }));\n | return 1;\n | }\n | exports.__esModule = true;\n | exports.registerMySelector = registerMySelector;\n\n = Liit\u00e4nn\u00e4iset =\n\n Selainkirjasto tarjoaa liit\u00e4nn\u00e4isi\u00e4 tapana muokata ja lis\u00e4t\u00e4 kirjaston avainsanoja ja muokata joitakin sis\u00e4isi\u00e4\n toimintoja ilman uuden kirjaston luomista tai l\u00e4hdekoodin muokkaamista. Katso liit\u00e4nn\u00e4isen API\n [https://github.com/MarketSquare/robotframework-browser/blob/main/docs/plugins/README.md | dokumentaatio] lis\u00e4tietoja varten.\n\n = Kieli =\n\n Selainkirjasto tarjoaa mahdollisuuden k\u00e4\u00e4nt\u00e4\u00e4 avainsanojen nimi\u00e4 ja dokumentaatiota uudelle kielelle. Jos kieli\n on m\u00e4\u00e4ritetty, Selainkirjasto etsii\n [https://robotframework.org/robotframework/latest/RobotFrameworkUserGuide.html#module-search-path | moduulien hakupolusta]\n Python-paketteja, jotka alkavat `robotframework_browser_translation`:lla k\u00e4ytt\u00e4en\n [https://packaging.python.org/en/latest/guides/creating-and-discovering-plugins/ | Python-liit\u00e4nn\u00e4is-APIa]. Kirjasto\n k\u00e4ytt\u00e4\u00e4 nime\u00e4mismerkint\u00e4\u00e4 l\u00f6yt\u00e4\u00e4kseen Python-liit\u00e4nn\u00e4iset. Pakettien on toteutettava yksitt\u00e4inen API-kutsu, `get_language`\n ilman argumentteja. Menetelm\u00e4n on palautettava sanakirja, joka sis\u00e4lt\u00e4\u00e4 kaksi avainta: `language` ja `path`. Kieli\n avaimen arvo m\u00e4\u00e4rittelee, mink\u00e4 kielen paketti sis\u00e4lt\u00e4\u00e4. My\u00f6s arvon tulisi vastata (kirjoitusvirheherkk\u00e4\u00e4)\n kirjaston alustus `language`-parametria. Polun parametrin arvon tulisi olla t\u00e4ysi polku k\u00e4\u00e4nn\u00f6stiedostoon.\n Tiedoston nimi tai laajennus ei ole t\u00e4rke\u00e4, mutta tiedon on oltava json-muodossa. Json-avaimet ovat\n metodien nimi\u00e4, eiv\u00e4t avainsanojen nimi\u00e4, jotka toteuttavat avainsanat. Avaimen arvo on json-objekti, joka sis\u00e4lt\u00e4\u00e4\n kaksi avainta: `name` ja `doc`. `name`-avain sis\u00e4lt\u00e4\u00e4 k\u00e4\u00e4nnetyn avainsanan nimen ja `doc` sis\u00e4lt\u00e4\u00e4 avainsanan\n k\u00e4\u00e4nnetyn dokumentaation. Dokumentaation ja nimen tarjoaminen on valinnainen, esimerkkik\u00e4\u00e4nn\u00f6ksen json-tiedosto voi tarjota\n k\u00e4\u00e4nn\u00f6kset vain avainsanojen nimiin tai vain dokumentaatioon. On kuitenkin aina suositeltavaa tarjota k\u00e4\u00e4nn\u00f6s\n sek\u00e4 nimelle ett\u00e4 dokalle.\n\n Oletusk\u00e4\u00e4nn\u00f6stiedosto, englannin kielell\u00e4, voidaan luoda suorittamalla\n `rfbrowser translation /path/to/translation.json` komento. Komento ei tarjoa k\u00e4\u00e4nn\u00f6ksi\u00e4 muille\n kielille, se tarjoaa vain helpon tavan luoda t\u00e4ydellinen lista k\u00e4\u00e4nnettyj\u00e4 avainsanoja ja niiden dokumentaatioita\n oikeassa muodossa. On my\u00f6s mahdollista lis\u00e4t\u00e4 avainsanoja kirjaston liit\u00e4nn\u00e4isist\u00e4 ja js-laajennuksista\n antamalla `--plugings` ja `--jsextension`-argumentit komennolle. Esimerkki:\n `rfbrowser translation --plugings myplugin.SomePlugin --jsextension /path/ot/jsplugin.js /path/to/translation.json`\n ",
"sha256": "9456bef94cdf46add971c0c7c349c889d525373ed86e177ddaf0a9f7cfb3d235"
}
}