Skip to content

Commit cd99e56

Browse files
committed
Recorder: Add the ability to create asserts without full clicks
1 parent cc5d6cc commit cd99e56

File tree

1 file changed

+14
-16
lines changed

1 file changed

+14
-16
lines changed

seleniumbase/js_code/recorder_js.py

Lines changed: 14 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -442,7 +442,7 @@
442442
const selector = getBestSelector(element);
443443
ra_len = document.recorded_actions.length;
444444
tag_name = tagName(element);
445-
e_type = element.type
445+
e_type = element.type;
446446
if (tag_name === 'select')
447447
{
448448
el_computed = document.querySelector(selector);
@@ -496,14 +496,18 @@
496496
const element = event.target;
497497
const selector = getBestSelector(element);
498498
ra_len = document.recorded_actions.length;
499+
rec_mode = sessionStorage.getItem('recorder_mode');
499500
tag_name = tagName(element);
501+
text = '';
502+
if (rec_mode === '3')
503+
text = element.innerText;
500504
if (ra_len > 0 && document.recorded_actions[ra_len-1][0] === 'mo_dn')
501505
document.recorded_actions.pop();
502506
if (tag_name === 'select') {
503507
// Do Nothing. ('change' action.)
504508
}
505509
else
506-
document.recorded_actions.push(['mo_dn', selector, '', d_now]);
510+
document.recorded_actions.push(['mo_dn', selector, text, d_now]);
507511
json_rec_act = JSON.stringify(document.recorded_actions);
508512
sessionStorage.setItem('recorded_actions', json_rec_act);
509513
});
@@ -512,7 +516,7 @@
512516
if (sessionStorage.getItem('pause_recorder') === 'yes') return;
513517
const d_now = Date.now();
514518
const element = event.target;
515-
const selector = getBestSelector(element);
519+
selector = getBestSelector(element);
516520
ra_len = document.recorded_actions.length;
517521
tag_name = tagName(element);
518522
parent_element = element.parentElement;
@@ -521,10 +525,8 @@
521525
grand_tag_name = "";
522526
origin = "";
523527
rec_mode = sessionStorage.getItem('recorder_mode');
524-
if (ra_len > 0 &&
525-
document.recorded_actions[ra_len-1][0] === 'mo_dn' &&
526-
document.recorded_actions[ra_len-1][1] === selector)
527-
{
528+
if (ra_len > 0 && document.recorded_actions[ra_len-1][0] === 'mo_dn') {
529+
selector = document.recorded_actions[ra_len-1][1];
528530
sel_has_contains = selector.includes(':contains(');
529531
if (rec_mode === '2' || (rec_mode === '3' && sel_has_contains)) {
530532
origin = window.location.origin;
@@ -535,7 +537,7 @@
535537
}
536538
else if (rec_mode === '3') {
537539
origin = window.location.origin;
538-
text = element.innerText;
540+
text = document.recorded_actions[ra_len-1][2];
539541
action = 'as_et';
540542
if (!text) { text = ''; }
541543
else {
@@ -678,31 +680,27 @@
678680
pause_rec = sessionStorage.getItem('pause_recorder');
679681
rec_mode = sessionStorage.getItem('recorder_mode');
680682
l_key = event.key.toLowerCase();
681-
if (l_key === 'escape' && pause_rec === 'no' && rec_mode === '1')
682-
{
683+
if (l_key === 'escape' && pause_rec === 'no' && rec_mode === '1') {
683684
sessionStorage.setItem('pause_recorder', 'yes');
684685
pause_rec = 'yes';
685686
console.log('SeleniumBase Recorder paused');
686687
no_border = 'none';
687688
document.querySelector('body').style.border = no_border;
688689
document.title = sessionStorage.getItem('recorder_title');
689690
}
690-
else if ((event.key === '`' || event.key === '~') && pause_rec === 'yes')
691-
{
691+
else if ((event.key === '`' || event.key === '~') && pause_rec === 'yes') {
692692
sessionStorage.setItem('pause_recorder', 'no');
693693
pause_rec = 'no';
694694
console.log('SeleniumBase Recorder resumed');
695695
red_border = 'thick solid #EE3344';
696696
document.querySelector('body').style.border = red_border;
697697
}
698-
else if (event.key === '^' && pause_rec === 'no')
699-
{
698+
else if (event.key === '^' && pause_rec === 'no') {
700699
sessionStorage.setItem('recorder_mode', '2');
701700
purple_border = 'thick solid #EF5BE9';
702701
document.querySelector('body').style.border = purple_border;
703702
}
704-
else if (event.key === '&' && pause_rec === 'no')
705-
{
703+
else if (event.key === '&' && pause_rec === 'no') {
706704
sessionStorage.setItem('recorder_mode', '3');
707705
teal_border = 'thick solid #30C6C6';
708706
document.querySelector('body').style.border = teal_border;

0 commit comments

Comments
 (0)