seleniumbase 4.24.11__py3-none-any.whl → 4.33.15__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- sbase/__init__.py +1 -0
 - sbase/steps.py +7 -0
 - seleniumbase/__init__.py +16 -7
 - seleniumbase/__version__.py +1 -1
 - seleniumbase/behave/behave_sb.py +97 -32
 - seleniumbase/common/decorators.py +16 -7
 - seleniumbase/config/proxy_list.py +3 -3
 - seleniumbase/config/settings.py +4 -0
 - seleniumbase/console_scripts/logo_helper.py +47 -8
 - seleniumbase/console_scripts/run.py +345 -335
 - seleniumbase/console_scripts/sb_behave_gui.py +5 -12
 - seleniumbase/console_scripts/sb_caseplans.py +6 -13
 - seleniumbase/console_scripts/sb_commander.py +5 -12
 - seleniumbase/console_scripts/sb_install.py +62 -54
 - seleniumbase/console_scripts/sb_mkchart.py +13 -20
 - seleniumbase/console_scripts/sb_mkdir.py +11 -17
 - seleniumbase/console_scripts/sb_mkfile.py +69 -43
 - seleniumbase/console_scripts/sb_mkpres.py +13 -20
 - seleniumbase/console_scripts/sb_mkrec.py +88 -21
 - seleniumbase/console_scripts/sb_objectify.py +30 -30
 - seleniumbase/console_scripts/sb_print.py +5 -12
 - seleniumbase/console_scripts/sb_recorder.py +16 -11
 - seleniumbase/core/browser_launcher.py +1658 -221
 - seleniumbase/core/log_helper.py +42 -27
 - seleniumbase/core/mysql.py +1 -4
 - seleniumbase/core/proxy_helper.py +35 -30
 - seleniumbase/core/recorder_helper.py +24 -5
 - seleniumbase/core/sb_cdp.py +1951 -0
 - seleniumbase/core/sb_driver.py +162 -8
 - seleniumbase/core/settings_parser.py +6 -0
 - seleniumbase/core/style_sheet.py +10 -0
 - seleniumbase/extensions/recorder.zip +0 -0
 - seleniumbase/fixtures/base_case.py +1225 -614
 - seleniumbase/fixtures/constants.py +10 -1
 - seleniumbase/fixtures/js_utils.py +171 -144
 - seleniumbase/fixtures/page_actions.py +177 -13
 - seleniumbase/fixtures/page_utils.py +25 -53
 - seleniumbase/fixtures/shared_utils.py +97 -11
 - seleniumbase/js_code/active_css_js.py +1 -1
 - seleniumbase/js_code/recorder_js.py +1 -1
 - seleniumbase/plugins/base_plugin.py +2 -3
 - seleniumbase/plugins/driver_manager.py +340 -65
 - seleniumbase/plugins/pytest_plugin.py +276 -47
 - seleniumbase/plugins/sb_manager.py +412 -99
 - seleniumbase/plugins/selenium_plugin.py +122 -17
 - seleniumbase/translate/translator.py +0 -7
 - seleniumbase/undetected/__init__.py +59 -52
 - seleniumbase/undetected/cdp.py +0 -1
 - seleniumbase/undetected/cdp_driver/__init__.py +1 -0
 - seleniumbase/undetected/cdp_driver/_contradict.py +110 -0
 - seleniumbase/undetected/cdp_driver/browser.py +829 -0
 - seleniumbase/undetected/cdp_driver/cdp_util.py +458 -0
 - seleniumbase/undetected/cdp_driver/config.py +334 -0
 - seleniumbase/undetected/cdp_driver/connection.py +639 -0
 - seleniumbase/undetected/cdp_driver/element.py +1168 -0
 - seleniumbase/undetected/cdp_driver/tab.py +1323 -0
 - seleniumbase/undetected/dprocess.py +4 -7
 - seleniumbase/undetected/options.py +6 -8
 - seleniumbase/undetected/patcher.py +11 -13
 - seleniumbase/undetected/reactor.py +0 -1
 - seleniumbase/undetected/webelement.py +16 -3
 - {seleniumbase-4.24.11.dist-info → seleniumbase-4.33.15.dist-info}/LICENSE +1 -1
 - {seleniumbase-4.24.11.dist-info → seleniumbase-4.33.15.dist-info}/METADATA +299 -252
 - {seleniumbase-4.24.11.dist-info → seleniumbase-4.33.15.dist-info}/RECORD +67 -69
 - {seleniumbase-4.24.11.dist-info → seleniumbase-4.33.15.dist-info}/WHEEL +1 -1
 - sbase/ReadMe.txt +0 -2
 - seleniumbase/ReadMe.md +0 -25
 - seleniumbase/common/ReadMe.md +0 -71
 - seleniumbase/console_scripts/ReadMe.md +0 -731
 - seleniumbase/drivers/ReadMe.md +0 -27
 - seleniumbase/extensions/ReadMe.md +0 -12
 - seleniumbase/masterqa/ReadMe.md +0 -61
 - seleniumbase/resources/ReadMe.md +0 -31
 - seleniumbase/resources/favicon.ico +0 -0
 - seleniumbase/utilities/selenium_grid/ReadMe.md +0 -84
 - seleniumbase/utilities/selenium_ide/ReadMe.md +0 -111
 - {seleniumbase-4.24.11.dist-info → seleniumbase-4.33.15.dist-info}/entry_points.txt +0 -0
 - {seleniumbase-4.24.11.dist-info → seleniumbase-4.33.15.dist-info}/top_level.txt +0 -0
 
| 
         @@ -1,46 +1,42 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            sbase/ 
     | 
| 
       2 
     | 
    
         
            -
            sbase/__init__.py,sha256=Kgq4COxq3G8FCBJHrLAMXQG3wGrmKjJ6L9tlaUi5PYo,562
         
     | 
| 
      
 1 
     | 
    
         
            +
            sbase/__init__.py,sha256=02izDj786GVBT0bpSq2Q2O8uwSxtyT09pnobZz91ML8,605
         
     | 
| 
       3 
2 
     | 
    
         
             
            sbase/__main__.py,sha256=G0bVB1-DM4PGwQ1KyOupaWCs4ePbChZNNWuX2htim5U,647
         
     | 
| 
       4 
     | 
    
         
            -
            sbase/steps.py,sha256= 
     | 
| 
       5 
     | 
    
         
            -
            seleniumbase/ 
     | 
| 
       6 
     | 
    
         
            -
            seleniumbase/__init__.py,sha256=Mw4ShIWUF2Efjx-JuwUQLWF9nIbxcX-vu9AOGBp32ec,2123
         
     | 
| 
      
 3 
     | 
    
         
            +
            sbase/steps.py,sha256=_WvAjydKqZfTdnZW9LPKkRty-g-lfdUPmLqnZj6ulcs,43013
         
     | 
| 
      
 4 
     | 
    
         
            +
            seleniumbase/__init__.py,sha256=OtJh8nGKL4xtZpw8KPqmn7Q6R-86t4cWUDyVF5MbMTo,2398
         
     | 
| 
       7 
5 
     | 
    
         
             
            seleniumbase/__main__.py,sha256=dn1p6dgCchmcH1zzTzzQvFwwdQQqnTGH6ULV9m4hv24,654
         
     | 
| 
       8 
     | 
    
         
            -
            seleniumbase/__version__.py,sha256= 
     | 
| 
      
 6 
     | 
    
         
            +
            seleniumbase/__version__.py,sha256=zinA_NXHPIOzZ0SiaceopEYLxV0lilIgeD36vkWHyxU,47
         
     | 
| 
       9 
7 
     | 
    
         
             
            seleniumbase/behave/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
         
     | 
| 
       10 
8 
     | 
    
         
             
            seleniumbase/behave/behave_helper.py,sha256=elkl8P9eLulRAioLstE9baYNM9N_PHBmAOcajX-pH_Y,24198
         
     | 
| 
       11 
     | 
    
         
            -
            seleniumbase/behave/behave_sb.py,sha256 
     | 
| 
      
 9 
     | 
    
         
            +
            seleniumbase/behave/behave_sb.py,sha256=-hza7Nx2U41mSObYiPMi48v3JlPh3sJO3yzP0kqZ1Gk,59174
         
     | 
| 
       12 
10 
     | 
    
         
             
            seleniumbase/behave/steps.py,sha256=8-N-NB2tnDsxaP4LSg-uSBgbwZYMS6ZEL1oggO1PCoU,390
         
     | 
| 
       13 
     | 
    
         
            -
            seleniumbase/common/ReadMe.md,sha256=PwQsRSPRCXejL-fg4YyDzED_Yr6e7ddmGu3g2OcDrcQ,3286
         
     | 
| 
       14 
11 
     | 
    
         
             
            seleniumbase/common/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
         
     | 
| 
       15 
     | 
    
         
            -
            seleniumbase/common/decorators.py,sha256= 
     | 
| 
      
 12 
     | 
    
         
            +
            seleniumbase/common/decorators.py,sha256=DYdjtF8Y7YJj0JS33WtmsIn4yddPoniNwcPyrgt522o,7857
         
     | 
| 
       16 
13 
     | 
    
         
             
            seleniumbase/common/encryption.py,sha256=IfAuE0hdrd3y-_qAQUWdSOKRGQ4QN24uTOBiQ9Eeq2s,5593
         
     | 
| 
       17 
14 
     | 
    
         
             
            seleniumbase/common/exceptions.py,sha256=SbdHOTbg7ycrioWleAVw9kG9vBtDfbYoj3e7ikkYYz0,3257
         
     | 
| 
       18 
15 
     | 
    
         
             
            seleniumbase/common/obfuscate.py,sha256=VrwPbVigPH_Jk6ADCk5_miMoq1VK4M9SKnYScDkk-DQ,1204
         
     | 
| 
       19 
16 
     | 
    
         
             
            seleniumbase/common/unobfuscate.py,sha256=MgP6MMT9Wam6ECFVIA84WsQczfl_dFiumFu9m3eXFDg,771
         
     | 
| 
       20 
17 
     | 
    
         
             
            seleniumbase/config/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
         
     | 
| 
       21 
18 
     | 
    
         
             
            seleniumbase/config/ad_block_list.py,sha256=qCQvbpONdSXk6q5tMwLuOswGYE1Syd8cy5TMIYFjTME,3380
         
     | 
| 
       22 
     | 
    
         
            -
            seleniumbase/config/proxy_list.py,sha256= 
     | 
| 
       23 
     | 
    
         
            -
            seleniumbase/config/settings.py,sha256= 
     | 
| 
       24 
     | 
    
         
            -
            seleniumbase/console_scripts/ReadMe.md,sha256=edWzZCdEpLaUSkzeasVq990ONVPWQSi-F0Y9ZWY5Xuw,20160
         
     | 
| 
      
 19 
     | 
    
         
            +
            seleniumbase/config/proxy_list.py,sha256=tSdk82_6pPqClotHMl3YOTlxi9IIEppHmCoQDkZXLqw,1123
         
     | 
| 
      
 20 
     | 
    
         
            +
            seleniumbase/config/settings.py,sha256=cAMmoFBQ6g8GCJIsRsSwGsP1_fJxhADxjHq30lFB18g,7815
         
     | 
| 
       25 
21 
     | 
    
         
             
            seleniumbase/console_scripts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
         
     | 
| 
       26 
     | 
    
         
            -
            seleniumbase/console_scripts/logo_helper.py,sha256= 
     | 
| 
      
 22 
     | 
    
         
            +
            seleniumbase/console_scripts/logo_helper.py,sha256=ZqS9TAwpcu5mM5ll-a0wTbXLs2Sbcsyo3EoC4jwtnME,2927
         
     | 
| 
       27 
23 
     | 
    
         
             
            seleniumbase/console_scripts/rich_helper.py,sha256=U_zvXpalxVV8rtg8c8EnNNmnh45tii3AV5ZV3O3KbGA,2234
         
     | 
| 
       28 
     | 
    
         
            -
            seleniumbase/console_scripts/run.py,sha256= 
     | 
| 
       29 
     | 
    
         
            -
            seleniumbase/console_scripts/sb_behave_gui.py,sha256= 
     | 
| 
       30 
     | 
    
         
            -
            seleniumbase/console_scripts/sb_caseplans.py,sha256= 
     | 
| 
       31 
     | 
    
         
            -
            seleniumbase/console_scripts/sb_commander.py,sha256= 
     | 
| 
       32 
     | 
    
         
            -
            seleniumbase/console_scripts/sb_install.py,sha256= 
     | 
| 
       33 
     | 
    
         
            -
            seleniumbase/console_scripts/sb_mkchart.py,sha256= 
     | 
| 
       34 
     | 
    
         
            -
            seleniumbase/console_scripts/sb_mkdir.py,sha256 
     | 
| 
       35 
     | 
    
         
            -
            seleniumbase/console_scripts/sb_mkfile.py,sha256= 
     | 
| 
       36 
     | 
    
         
            -
            seleniumbase/console_scripts/sb_mkpres.py,sha256= 
     | 
| 
       37 
     | 
    
         
            -
            seleniumbase/console_scripts/sb_mkrec.py,sha256= 
     | 
| 
       38 
     | 
    
         
            -
            seleniumbase/console_scripts/sb_objectify.py,sha256= 
     | 
| 
       39 
     | 
    
         
            -
            seleniumbase/console_scripts/sb_print.py,sha256= 
     | 
| 
       40 
     | 
    
         
            -
            seleniumbase/console_scripts/sb_recorder.py,sha256= 
     | 
| 
      
 24 
     | 
    
         
            +
            seleniumbase/console_scripts/run.py,sha256=t_mpBUIJLBrUtzJ5RQL5y8UVCTm7DhNyS94rHwIOnRs,58850
         
     | 
| 
      
 25 
     | 
    
         
            +
            seleniumbase/console_scripts/sb_behave_gui.py,sha256=3Zl7_QQczvkkQW_UuaqYEUlEjiZ6AJzHR9GeNyVVXkc,15147
         
     | 
| 
      
 26 
     | 
    
         
            +
            seleniumbase/console_scripts/sb_caseplans.py,sha256=qlmvjQ49bOBE1Q29fVmabimkVibCVr25GNtJhFPTMrc,18145
         
     | 
| 
      
 27 
     | 
    
         
            +
            seleniumbase/console_scripts/sb_commander.py,sha256=yqoAK211OE6x5AWL2IAo8WojHtdkVj0AWqfoJ-ewmyo,13329
         
     | 
| 
      
 28 
     | 
    
         
            +
            seleniumbase/console_scripts/sb_install.py,sha256=y84Zk-rcp554kcF_g97Xwl0Rn38pyH9wO5OKHX879RI,45831
         
     | 
| 
      
 29 
     | 
    
         
            +
            seleniumbase/console_scripts/sb_mkchart.py,sha256=ep9g-9CSIwaOJKVxhB3xjRQpfsuApyN8-Dr129cNXwQ,10941
         
     | 
| 
      
 30 
     | 
    
         
            +
            seleniumbase/console_scripts/sb_mkdir.py,sha256=SaI2wnjE5eQLxX8RPdjFjM_ghBbMm4r_vBUzU5t5dzY,29819
         
     | 
| 
      
 31 
     | 
    
         
            +
            seleniumbase/console_scripts/sb_mkfile.py,sha256=OWYd4yFccmjrd-gNn1t1una-HDRU2_N2-r4Tg3nHsj0,17744
         
     | 
| 
      
 32 
     | 
    
         
            +
            seleniumbase/console_scripts/sb_mkpres.py,sha256=EWFRVacjYTX49y-fEiYTZacM9_01IxuuaO4nMjHrIGo,11015
         
     | 
| 
      
 33 
     | 
    
         
            +
            seleniumbase/console_scripts/sb_mkrec.py,sha256=PrizjTmyrROYPO0yDm-zQS3QSfsZNeAmcJKKUvfgLhc,11966
         
     | 
| 
      
 34 
     | 
    
         
            +
            seleniumbase/console_scripts/sb_objectify.py,sha256=nGxtVGL_nHj0bLHvk86znV3EABsE2_tjF74lgto1_Mk,122020
         
     | 
| 
      
 35 
     | 
    
         
            +
            seleniumbase/console_scripts/sb_print.py,sha256=tNy-bMDgwHJO3bZxMpmo9weSE8uhbH0CUpP4VZqWxvI,30558
         
     | 
| 
      
 36 
     | 
    
         
            +
            seleniumbase/console_scripts/sb_recorder.py,sha256=fnHb5-kh11Hit-E9Ha-e4QXzqLcZvtij6mb5qNd4B1Q,11032
         
     | 
| 
       41 
37 
     | 
    
         
             
            seleniumbase/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
         
     | 
| 
       42 
38 
     | 
    
         
             
            seleniumbase/core/application_manager.py,sha256=e_0sjtI8cjY5BNyZj1QBR0j6_oCScxGmSXYEpcYwuZE,576
         
     | 
| 
       43 
     | 
    
         
            -
            seleniumbase/core/browser_launcher.py,sha256= 
     | 
| 
      
 39 
     | 
    
         
            +
            seleniumbase/core/browser_launcher.py,sha256=EmSQ9x5tWu3TrzWvM-P9K4D0w4TrkHcaIbDalePdsxI,225141
         
     | 
| 
       44 
40 
     | 
    
         
             
            seleniumbase/core/capabilities_parser.py,sha256=meIS2uHapTCq2ldfNAToC7r0cKmZDRXuYNKExM1GHDY,6038
         
     | 
| 
       45 
41 
     | 
    
         
             
            seleniumbase/core/colored_traceback.py,sha256=DrRWfg7XEnKcgY59Xj7Jdk09H-XqHYBSUpB-DiZt6iY,2020
         
     | 
| 
       46 
42 
     | 
    
         
             
            seleniumbase/core/create_db_tables.sql,sha256=VWPtrdiW_HQ6yETHjqTu-VIrTwvd8I8o1NfBeaVSHpU,972
         
     | 
| 
         @@ -48,60 +44,56 @@ seleniumbase/core/detect_b_ver.py,sha256=RxeGRMbBUTMrXh5KsS1P1SH7eEKYbzL1vQw1gTd 
     | 
|
| 
       48 
44 
     | 
    
         
             
            seleniumbase/core/download_helper.py,sha256=qSR54kQISucF4RQaLCOuuerSu6DR41juGi_30HVvWYY,2943
         
     | 
| 
       49 
45 
     | 
    
         
             
            seleniumbase/core/encoded_images.py,sha256=rDKJ4cNJSuKiRcFViYU7bjyTS9_moI57gUPRXVg3u2k,14209
         
     | 
| 
       50 
46 
     | 
    
         
             
            seleniumbase/core/jqc_helper.py,sha256=2DDQr9Q2jSSZqFzX588jLlUM9oJvyrRWq2aORSIPUdI,10322
         
     | 
| 
       51 
     | 
    
         
            -
            seleniumbase/core/log_helper.py,sha256= 
     | 
| 
       52 
     | 
    
         
            -
            seleniumbase/core/mysql.py,sha256= 
     | 
| 
       53 
     | 
    
         
            -
            seleniumbase/core/proxy_helper.py,sha256= 
     | 
| 
       54 
     | 
    
         
            -
            seleniumbase/core/recorder_helper.py,sha256= 
     | 
| 
      
 47 
     | 
    
         
            +
            seleniumbase/core/log_helper.py,sha256=SW8wx2f2HfU3ERbANjxEC-jDbjy_IzaNYRKPlayfRRI,23442
         
     | 
| 
      
 48 
     | 
    
         
            +
            seleniumbase/core/mysql.py,sha256=8Fzj3p5dhtDWfMpFqFYxpSwa9s1UltiHsWJ56_aPOqk,3993
         
     | 
| 
      
 49 
     | 
    
         
            +
            seleniumbase/core/proxy_helper.py,sha256=kZnfkflB3XhuL2h-3inmx3UOLS8VAZ385BGCc4H8TvU,8267
         
     | 
| 
      
 50 
     | 
    
         
            +
            seleniumbase/core/recorder_helper.py,sha256=fNGjbapXmEsht54x1o6Igk198QdnPxDDnjUOzQxNhNQ,25055
         
     | 
| 
       55 
51 
     | 
    
         
             
            seleniumbase/core/report_helper.py,sha256=AIl6Qava2yW1uSzbLpJBlPlYDz0KE-rVhogh8hsGWBo,12201
         
     | 
| 
       56 
52 
     | 
    
         
             
            seleniumbase/core/s3_manager.py,sha256=bkeI8I4y19ebWuQG1oEZV5qJbotC6eN8vin31OCNWJk,3521
         
     | 
| 
       57 
     | 
    
         
            -
            seleniumbase/core/ 
     | 
| 
      
 53 
     | 
    
         
            +
            seleniumbase/core/sb_cdp.py,sha256=f6l4GUJP-jg-ivukpbwVLyFNvnlzUnXjm5Y2oUw0I88,76028
         
     | 
| 
      
 54 
     | 
    
         
            +
            seleniumbase/core/sb_driver.py,sha256=NGa4adi8OAi2WFtFkEguXg3JCd1p-JuZweIpGNifEfU,13488
         
     | 
| 
       58 
55 
     | 
    
         
             
            seleniumbase/core/session_helper.py,sha256=s9zD3PVZEWVzG2h81cCUskbNWLfdjC_LwwQjKptHCak,558
         
     | 
| 
       59 
     | 
    
         
            -
            seleniumbase/core/settings_parser.py,sha256= 
     | 
| 
       60 
     | 
    
         
            -
            seleniumbase/core/style_sheet.py,sha256= 
     | 
| 
      
 56 
     | 
    
         
            +
            seleniumbase/core/settings_parser.py,sha256=gqVohHVlE_5L5Cqe2L24uYrRzvoK-saX8E_Df7_-_3I,7609
         
     | 
| 
      
 57 
     | 
    
         
            +
            seleniumbase/core/style_sheet.py,sha256=QsfTBtgedfM3uTqgxtd53bhq202p9fwLMbFl9mPZgVg,11892
         
     | 
| 
       61 
58 
     | 
    
         
             
            seleniumbase/core/testcase_manager.py,sha256=TblCfo8Zfap1Bayip-qTu9gqT-KALSwXAX4awBpnEHg,4633
         
     | 
| 
       62 
59 
     | 
    
         
             
            seleniumbase/core/tour_helper.py,sha256=kj2cz-DGKlw9SX3tWnVp-snpk6Flvqj81-xmKdKDtg0,42555
         
     | 
| 
       63 
60 
     | 
    
         
             
            seleniumbase/core/visual_helper.py,sha256=Dj5iJKw-bT_3e6KDqMf0sJi7xs_D96yqLcNc8fqhrjI,3408
         
     | 
| 
       64 
     | 
    
         
            -
            seleniumbase/drivers/ReadMe.md,sha256=4yTQZ-dkYpYoVY6frpbC-cW2ZIw2gh40hQMXT7qFPOQ,1256
         
     | 
| 
       65 
61 
     | 
    
         
             
            seleniumbase/drivers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
         
     | 
| 
       66 
     | 
    
         
            -
            seleniumbase/extensions/ReadMe.md,sha256=kF6H5-1VHlXRjf4NV0KarbzF75EeXvV7GKBvuepEUnM,676
         
     | 
| 
       67 
62 
     | 
    
         
             
            seleniumbase/extensions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
         
     | 
| 
       68 
63 
     | 
    
         
             
            seleniumbase/extensions/ad_block.zip,sha256=25YRmK3cSUUSYmyuksTxQnn6rIzCGY_MtaNlzr0fcxQ,11978
         
     | 
| 
       69 
64 
     | 
    
         
             
            seleniumbase/extensions/disable_csp.zip,sha256=YMifIIgEBiLrEFrS1sfW4Exh4br1V4oK1umHhtgduCU,11824
         
     | 
| 
       70 
     | 
    
         
            -
            seleniumbase/extensions/recorder.zip,sha256= 
     | 
| 
      
 65 
     | 
    
         
            +
            seleniumbase/extensions/recorder.zip,sha256=OOyzF-Ize2cSRu1CqhzSAq5vusI9hqLLd2OIApUHesI,11918
         
     | 
| 
       71 
66 
     | 
    
         
             
            seleniumbase/extensions/sbase_ext.zip,sha256=3s1N8zrVaMz8RQEOIoBzC3KDjtmHwVZRvVsX25Odr_s,8175
         
     | 
| 
       72 
67 
     | 
    
         
             
            seleniumbase/fixtures/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
         
     | 
| 
       73 
     | 
    
         
            -
            seleniumbase/fixtures/base_case.py,sha256= 
     | 
| 
       74 
     | 
    
         
            -
            seleniumbase/fixtures/constants.py,sha256= 
     | 
| 
      
 68 
     | 
    
         
            +
            seleniumbase/fixtures/base_case.py,sha256=svQ9cMvx1vYIa07Lb2RmSJ20rf5lGWaLoT0BIoMNjig,719933
         
     | 
| 
      
 69 
     | 
    
         
            +
            seleniumbase/fixtures/constants.py,sha256=e1LppavlrAcI4XBJMq7u5j8SffaQ7SPQps1y0YvZYfY,13649
         
     | 
| 
       75 
70 
     | 
    
         
             
            seleniumbase/fixtures/css_to_xpath.py,sha256=9ouDB1xl4MJ2os6JOgTIAyHKOQfuxtxvXC3O5hSnEKA,1954
         
     | 
| 
       76 
71 
     | 
    
         
             
            seleniumbase/fixtures/errors.py,sha256=KyxuEVx_e3MPhVrJfNIa_3ltMpbCFxfy_jxK8RFNTns,555
         
     | 
| 
       77 
     | 
    
         
            -
            seleniumbase/fixtures/js_utils.py,sha256= 
     | 
| 
       78 
     | 
    
         
            -
            seleniumbase/fixtures/page_actions.py,sha256= 
     | 
| 
       79 
     | 
    
         
            -
            seleniumbase/fixtures/page_utils.py,sha256= 
     | 
| 
       80 
     | 
    
         
            -
            seleniumbase/fixtures/shared_utils.py,sha256= 
     | 
| 
      
 72 
     | 
    
         
            +
            seleniumbase/fixtures/js_utils.py,sha256=asZJ0LDFv2BPQOzUVKK_9ie8ToGcmFousDnGdb3Vabg,51534
         
     | 
| 
      
 73 
     | 
    
         
            +
            seleniumbase/fixtures/page_actions.py,sha256=LPcFSkUvBkxLrOt4laQHHN-NLmqInT41E2vlPiOlLFY,66753
         
     | 
| 
      
 74 
     | 
    
         
            +
            seleniumbase/fixtures/page_utils.py,sha256=5m7iXpikLs80TJoRO6_gEfXE1AKeQgcH1aFbR8o1C9A,12034
         
     | 
| 
      
 75 
     | 
    
         
            +
            seleniumbase/fixtures/shared_utils.py,sha256=G6CsE-Adt-GfuZF-71jXWKSIQW7YZPx8FIM24pVd_yI,8368
         
     | 
| 
       81 
76 
     | 
    
         
             
            seleniumbase/fixtures/unittest_helper.py,sha256=sfZ92rZeBAn_sF_yQ3I6_I7h3lyU5-cV_UMegBNoEm8,1294
         
     | 
| 
       82 
77 
     | 
    
         
             
            seleniumbase/fixtures/words.py,sha256=FOA4mAYvl3EPVpBTvgvK6YwCL8BdlRCmed685kEe7Vg,7827
         
     | 
| 
       83 
78 
     | 
    
         
             
            seleniumbase/fixtures/xpath_to_css.py,sha256=lML56k656fElXJ4NJF07r35FjctrbgQkXUotNk7A-as,8876
         
     | 
| 
       84 
79 
     | 
    
         
             
            seleniumbase/js_code/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
         
     | 
| 
       85 
     | 
    
         
            -
            seleniumbase/js_code/active_css_js.py,sha256= 
     | 
| 
      
 80 
     | 
    
         
            +
            seleniumbase/js_code/active_css_js.py,sha256=MgwbcwatW0ChsM9UdbXdE1pJr9c5i9dhnbXXw9dhq7Y,9929
         
     | 
| 
       86 
81 
     | 
    
         
             
            seleniumbase/js_code/live_js.py,sha256=yfJTRhKOXhsaonkQ2e0JGUTXBnQBASTw2zXukhlyQfA,6619
         
     | 
| 
       87 
     | 
    
         
            -
            seleniumbase/js_code/recorder_js.py,sha256= 
     | 
| 
       88 
     | 
    
         
            -
            seleniumbase/masterqa/ReadMe.md,sha256=ZzvsTSY9MCZnIR9e_ZvMxeo6NTOBVad0nCilBenXmrg,3317
         
     | 
| 
      
 82 
     | 
    
         
            +
            seleniumbase/js_code/recorder_js.py,sha256=ApFNh6DImuPGmaydvq8OOzGixc0t-xdYSCzfQSIcLJY,30985
         
     | 
| 
       89 
83 
     | 
    
         
             
            seleniumbase/masterqa/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
         
     | 
| 
       90 
84 
     | 
    
         
             
            seleniumbase/masterqa/master_qa.py,sha256=jLWmAx32Rnu1IhmvrRt8BbsUIcDW5xYj2ouVozny-Y4,19258
         
     | 
| 
       91 
85 
     | 
    
         
             
            seleniumbase/plugins/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
         
     | 
| 
       92 
     | 
    
         
            -
            seleniumbase/plugins/base_plugin.py,sha256= 
     | 
| 
      
 86 
     | 
    
         
            +
            seleniumbase/plugins/base_plugin.py,sha256=FemdftNhOaTfQIw5bWcJQPPPGQ3P0_sMEI_YYDuzZgU,14972
         
     | 
| 
       93 
87 
     | 
    
         
             
            seleniumbase/plugins/basic_test_info.py,sha256=8ov6n417gPbqqvrlT4zrch7l2XcRt-GF2ny6rR9AMWk,2108
         
     | 
| 
       94 
88 
     | 
    
         
             
            seleniumbase/plugins/db_reporting_plugin.py,sha256=En09qUCoojrk9-vbcnsoHdSELoGmag2GDIyu3jTiJas,7331
         
     | 
| 
       95 
     | 
    
         
            -
            seleniumbase/plugins/driver_manager.py,sha256= 
     | 
| 
      
 89 
     | 
    
         
            +
            seleniumbase/plugins/driver_manager.py,sha256=s20s0pJYaNrG0WNwyIC04oUMRVFjtm6V_nS1-EvFm7g,34492
         
     | 
| 
       96 
90 
     | 
    
         
             
            seleniumbase/plugins/page_source.py,sha256=loTnXxOj4kxEukuTZEiGyvKBhY3KDVDMnNlHHheTBDE,1889
         
     | 
| 
       97 
     | 
    
         
            -
            seleniumbase/plugins/pytest_plugin.py,sha256= 
     | 
| 
      
 91 
     | 
    
         
            +
            seleniumbase/plugins/pytest_plugin.py,sha256=JjpglUqHkfl6rzdg1SkJ7PMtNRpceOgLNbUi2DyKpJI,105416
         
     | 
| 
       98 
92 
     | 
    
         
             
            seleniumbase/plugins/s3_logging_plugin.py,sha256=WDfertQgGOW_SRJpFMaekYD6vBVW9VO62POtXXy2HCM,2319
         
     | 
| 
       99 
     | 
    
         
            -
            seleniumbase/plugins/sb_manager.py,sha256= 
     | 
| 
      
 93 
     | 
    
         
            +
            seleniumbase/plugins/sb_manager.py,sha256=Z19CfRSaqcxdn_YvzXVt4B9Nu3Bhs97QIO5tHlvbuyk,54871
         
     | 
| 
       100 
94 
     | 
    
         
             
            seleniumbase/plugins/screen_shots.py,sha256=1hrXw-hzuZ1BR6Yh7AyWX2ABnvnP73-RCbwdz958gj4,1127
         
     | 
| 
       101 
     | 
    
         
            -
            seleniumbase/plugins/selenium_plugin.py,sha256= 
     | 
| 
       102 
     | 
    
         
            -
            seleniumbase/resources/ReadMe.md,sha256=uminnO5_Uv-UZDKcc9a9s9kxisaYUps-H98Fp5PJcaU,2124
         
     | 
| 
      
 95 
     | 
    
         
            +
            seleniumbase/plugins/selenium_plugin.py,sha256=GhGW2ATy2kM7UH7NrZ2je402nN2LMlVHpM-yxlU3I9E,59069
         
     | 
| 
       103 
96 
     | 
    
         
             
            seleniumbase/resources/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
         
     | 
| 
       104 
     | 
    
         
            -
            seleniumbase/resources/favicon.ico,sha256=QPf_YK0QXa_--C4_CH-odh6OTHRQ9k-4O6WcCpXSdwM,1150
         
     | 
| 
       105 
97 
     | 
    
         
             
            seleniumbase/translate/__init__.py,sha256=N2i5XntTwJZmwr9-qvdX5gC6Rdm5-ClIbnQ8yyPn4Oo,459
         
     | 
| 
       106 
98 
     | 
    
         
             
            seleniumbase/translate/chinese.py,sha256=0QhK2eadtsdN4KCvwki1J7jBCe8I4xxWbKzteJKJozY,24698
         
     | 
| 
       107 
99 
     | 
    
         
             
            seleniumbase/translate/dutch.py,sha256=-sazERTpITu8rGsiDrA5sDdbviitnNeBc1wyaVsoksI,25338
         
     | 
| 
         @@ -113,16 +105,23 @@ seleniumbase/translate/master_dict.py,sha256=LJxFoQN7qZ32Dp9dtcM5DymtAJw5ycfJsJH 
     | 
|
| 
       113 
105 
     | 
    
         
             
            seleniumbase/translate/portuguese.py,sha256=x3P4qxp56UiI41GoaL7JbUvFRYsgXU1EKjTgrt2GFtM,25369
         
     | 
| 
       114 
106 
     | 
    
         
             
            seleniumbase/translate/russian.py,sha256=TyN9n0b4GRWDEYnHRGw1rfNAscdDmP3F3Y3aySM3C7s,27978
         
     | 
| 
       115 
107 
     | 
    
         
             
            seleniumbase/translate/spanish.py,sha256=hh3xgW1Pq122SHYVvJAxFaXhFrjniOVncVbJbfWqOUM,25528
         
     | 
| 
       116 
     | 
    
         
            -
            seleniumbase/translate/translator.py,sha256= 
     | 
| 
       117 
     | 
    
         
            -
            seleniumbase/undetected/__init__.py,sha256= 
     | 
| 
       118 
     | 
    
         
            -
            seleniumbase/undetected/cdp.py,sha256= 
     | 
| 
       119 
     | 
    
         
            -
            seleniumbase/undetected/dprocess.py,sha256= 
     | 
| 
       120 
     | 
    
         
            -
            seleniumbase/undetected/options.py,sha256= 
     | 
| 
       121 
     | 
    
         
            -
            seleniumbase/undetected/patcher.py,sha256= 
     | 
| 
       122 
     | 
    
         
            -
            seleniumbase/undetected/reactor.py,sha256= 
     | 
| 
       123 
     | 
    
         
            -
            seleniumbase/undetected/webelement.py,sha256= 
     | 
| 
      
 108 
     | 
    
         
            +
            seleniumbase/translate/translator.py,sha256=wPhZH6e5NhmebYL1kP2eGxUcVy1gfTb6XCH8ATEPpxE,49238
         
     | 
| 
      
 109 
     | 
    
         
            +
            seleniumbase/undetected/__init__.py,sha256=PSaAVgWU-yU1zwts2-UIJMWS6Mwo1YwAw0pMlSx6jVM,22998
         
     | 
| 
      
 110 
     | 
    
         
            +
            seleniumbase/undetected/cdp.py,sha256=RLpwZnhUvmK9tgXcZIBBQedwk2q7Jj_EXZkmzI8WUqk,4023
         
     | 
| 
      
 111 
     | 
    
         
            +
            seleniumbase/undetected/dprocess.py,sha256=83EV8ZHJWHG1TSUv9JNClBhdgiBXlkCc6mJ--HsoP3k,1681
         
     | 
| 
      
 112 
     | 
    
         
            +
            seleniumbase/undetected/options.py,sha256=BoNuwhrG7oOvuLvTwkvsWCF36pMkS1tHCG-XpP4_EkI,3001
         
     | 
| 
      
 113 
     | 
    
         
            +
            seleniumbase/undetected/patcher.py,sha256=7QPcd3jT1KKSj5BhDlm7-ZywuExfpZ81Lx63sNb_JjY,10853
         
     | 
| 
      
 114 
     | 
    
         
            +
            seleniumbase/undetected/reactor.py,sha256=NropaXcO54pzmDq6quR27qPJxab6636H7LRAaq-o0ng,2859
         
     | 
| 
      
 115 
     | 
    
         
            +
            seleniumbase/undetected/webelement.py,sha256=_s6evgUkdWJpwOnzX4qR9i796PoVbz3txlzHlOBJ4BE,1370
         
     | 
| 
      
 116 
     | 
    
         
            +
            seleniumbase/undetected/cdp_driver/__init__.py,sha256=c0TjMwPfVFyoqYOJ7PQ-Jln_L_dpN3ebHyaD-juQoM0,64
         
     | 
| 
      
 117 
     | 
    
         
            +
            seleniumbase/undetected/cdp_driver/_contradict.py,sha256=lP4b0h5quAy573ETn_TBbYV889cL1AuPLVInpJ0ZkiU,3183
         
     | 
| 
      
 118 
     | 
    
         
            +
            seleniumbase/undetected/cdp_driver/browser.py,sha256=quD0e2aoehXQrs9zxGsobF0kZY11gmJ58Q_JQhheQYg,30144
         
     | 
| 
      
 119 
     | 
    
         
            +
            seleniumbase/undetected/cdp_driver/cdp_util.py,sha256=X7bd5qt-kegTiOEcsoLUHrAJ5YTruEub-9oL4TBDTYk,16886
         
     | 
| 
      
 120 
     | 
    
         
            +
            seleniumbase/undetected/cdp_driver/config.py,sha256=oHFJ3UH0OmLmEGgG5S6SZwbyBs9ZYMsbUJ02QCA7iZc,12044
         
     | 
| 
      
 121 
     | 
    
         
            +
            seleniumbase/undetected/cdp_driver/connection.py,sha256=sOTUGjbUqKA2hPvDcRCdqw1VQjVGJs7mbgVvzS7ldtE,23360
         
     | 
| 
      
 122 
     | 
    
         
            +
            seleniumbase/undetected/cdp_driver/element.py,sha256=FIC6v7OmumLCT-_vIc3H4oju_oBbaLpWJUJIKm2c_q4,40467
         
     | 
| 
      
 123 
     | 
    
         
            +
            seleniumbase/undetected/cdp_driver/tab.py,sha256=cmSUg9fRnIVYgeqs-t8Tcg1FrSVIrM5IBQmCMzvl4OQ,50678
         
     | 
| 
       124 
124 
     | 
    
         
             
            seleniumbase/utilities/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
         
     | 
| 
       125 
     | 
    
         
            -
            seleniumbase/utilities/selenium_grid/ReadMe.md,sha256=Uqvn4KmhaMY_jrhcsxL2WptCukPq1J3Yz-9WenCXEu0,3599
         
     | 
| 
       126 
125 
     | 
    
         
             
            seleniumbase/utilities/selenium_grid/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
         
     | 
| 
       127 
126 
     | 
    
         
             
            seleniumbase/utilities/selenium_grid/download_selenium_server.py,sha256=ZdoInIbhtmdKCIPxxtJHhd2sqotqcNXWMYbwWrkh9O0,1727
         
     | 
| 
       128 
127 
     | 
    
         
             
            seleniumbase/utilities/selenium_grid/font_color,sha256=NLVgBzkyygZjIf_hZWpMUlO5kHIUWG7ZWyoLhaLUCgY,468
         
     | 
| 
         @@ -134,12 +133,11 @@ seleniumbase/utilities/selenium_grid/register-grid-node.bat,sha256=d-PTBiMXyRAsJ 
     | 
|
| 
       134 
133 
     | 
    
         
             
            seleniumbase/utilities/selenium_grid/register-grid-node.sh,sha256=TJE3VkkpXsR3GsBtULIRhsAPuW9LJlglKAHJ-QHkK3c,275
         
     | 
| 
       135 
134 
     | 
    
         
             
            seleniumbase/utilities/selenium_grid/start-grid-hub.bat,sha256=Ftq-GrAKRYH2ssDPrI3F0tw3EB4BZ4oGplOObX9cuTA,94
         
     | 
| 
       136 
135 
     | 
    
         
             
            seleniumbase/utilities/selenium_grid/start-grid-hub.sh,sha256=KADv0RUHONLL2_I443QFK8PryBpDmKn5Gy0s4o0vDSM,106
         
     | 
| 
       137 
     | 
    
         
            -
            seleniumbase/utilities/selenium_ide/ReadMe.md,sha256=hznGeuMpkIimqMiZBW-4goIy2ltW4l8X9kb0YSPUQfE,4483
         
     | 
| 
       138 
136 
     | 
    
         
             
            seleniumbase/utilities/selenium_ide/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
         
     | 
| 
       139 
137 
     | 
    
         
             
            seleniumbase/utilities/selenium_ide/convert_ide.py,sha256=pZFnqEJQEKZPyNFjkLD29s2HPQgCrWW9XJWpCPhWOoM,31691
         
     | 
| 
       140 
     | 
    
         
            -
            seleniumbase-4. 
     | 
| 
       141 
     | 
    
         
            -
            seleniumbase-4. 
     | 
| 
       142 
     | 
    
         
            -
            seleniumbase-4. 
     | 
| 
       143 
     | 
    
         
            -
            seleniumbase-4. 
     | 
| 
       144 
     | 
    
         
            -
            seleniumbase-4. 
     | 
| 
       145 
     | 
    
         
            -
            seleniumbase-4. 
     | 
| 
      
 138 
     | 
    
         
            +
            seleniumbase-4.33.15.dist-info/LICENSE,sha256=BRblZsX7HyPUjQmYTiyWr_e9tzWvmR3R4SFclM2R3W0,1085
         
     | 
| 
      
 139 
     | 
    
         
            +
            seleniumbase-4.33.15.dist-info/METADATA,sha256=ftZ-ioYR_ZvapFKVOP2KTye7De_xwKF1D74nq-YKtE4,86361
         
     | 
| 
      
 140 
     | 
    
         
            +
            seleniumbase-4.33.15.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
         
     | 
| 
      
 141 
     | 
    
         
            +
            seleniumbase-4.33.15.dist-info/entry_points.txt,sha256=CNrh2EKNaHYEhO6pP1RJyVLB99LkDDYX7TnUK8xfjqk,623
         
     | 
| 
      
 142 
     | 
    
         
            +
            seleniumbase-4.33.15.dist-info/top_level.txt,sha256=4N97aBOQ8ETCnDnokBsWb07lJfTaq3C1ZzYRxvLMxqU,19
         
     | 
| 
      
 143 
     | 
    
         
            +
            seleniumbase-4.33.15.dist-info/RECORD,,
         
     | 
    
        sbase/ReadMe.txt
    DELETED
    
    
    
        seleniumbase/ReadMe.md
    DELETED
    
    | 
         @@ -1,25 +0,0 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            <img src="https://seleniumbase.github.io/cdn/img/sb_word_cloud.png" alt="SeleniumBase" title="SeleniumBase" width="330" />
         
     | 
| 
       2 
     | 
    
         
            -
             
     | 
| 
       3 
     | 
    
         
            -
            <h2><img src="https://seleniumbase.github.io/img/logo3b.png" title="SeleniumBase" width="32" /> Framework Folders</h2>
         
     | 
| 
       4 
     | 
    
         
            -
             
     | 
| 
       5 
     | 
    
         
            -
            * <b>[fixtures](https://github.com/seleniumbase/SeleniumBase/tree/master/seleniumbase/fixtures):</b> Includes [base_case.py](https://github.com/seleniumbase/SeleniumBase/blob/master/seleniumbase/fixtures/base_case.py), where SeleniumBase test methods are defined.
         
     | 
| 
       6 
     | 
    
         
            -
            * <b>[core](https://github.com/seleniumbase/SeleniumBase/tree/master/seleniumbase/core):</b> Includes [browser_launcher.py](https://github.com/seleniumbase/SeleniumBase/blob/master/seleniumbase/core/browser_launcher.py), which is used for spinning up browsers for tests.
         
     | 
| 
       7 
     | 
    
         
            -
            * <b>[plugins](https://github.com/seleniumbase/SeleniumBase/tree/master/seleniumbase/plugins):</b> Includes [pytest_plugin.py](https://github.com/seleniumbase/SeleniumBase/blob/master/seleniumbase/plugins/pytest_plugin.py), which is used to add pytest command-line options.
         
     | 
| 
       8 
     | 
    
         
            -
            * <b>[console_scripts](https://github.com/seleniumbase/SeleniumBase/tree/master/seleniumbase/console_scripts):</b> Includes [run.py](https://github.com/seleniumbase/SeleniumBase/blob/master/seleniumbase/console_scripts/run.py), which is used to call SeleniumBase console scripts.
         
     | 
| 
       9 
     | 
    
         
            -
            * <b>[drivers](https://github.com/seleniumbase/SeleniumBase/tree/master/seleniumbase/drivers):</b> This is the folder where web drivers get downloaded when installing them.
         
     | 
| 
       10 
     | 
    
         
            -
            * <b>[config](https://github.com/seleniumbase/SeleniumBase/tree/master/seleniumbase/config):</b> Includes [settings.py](https://github.com/seleniumbase/SeleniumBase/blob/master/seleniumbase/config/settings.py), which provides default configuration options for tests.
         
     | 
| 
       11 
     | 
    
         
            -
            * <b>[js_code](https://github.com/seleniumbase/SeleniumBase/tree/master/seleniumbase/js_code):</b> This folder contains JavaScript code for various SeleniumBase components.
         
     | 
| 
       12 
     | 
    
         
            -
            * <b>[undetected](https://github.com/seleniumbase/SeleniumBase/tree/master/seleniumbase/undetected):</b> This folder contains code for preventing sites from detecting Selenium.
         
     | 
| 
       13 
     | 
    
         
            -
            * <b>[extensions](https://github.com/seleniumbase/SeleniumBase/tree/master/seleniumbase/extensions):</b> This folder contains Chromium extensions that can be used by tests.
         
     | 
| 
       14 
     | 
    
         
            -
            * <b>[common](https://github.com/seleniumbase/SeleniumBase/tree/master/seleniumbase/common):</b> This folder contains Python decorators that can be used by tests.
         
     | 
| 
       15 
     | 
    
         
            -
            * <b>[utilities](https://github.com/seleniumbase/SeleniumBase/tree/master/seleniumbase/utilities):</b> This folder contains code for spinning up your own Selenium Grid.
         
     | 
| 
       16 
     | 
    
         
            -
            * <b>[resources](https://github.com/seleniumbase/SeleniumBase/tree/master/seleniumbase/resources):</b> This folder contains copies of JavaScript resources used by tests.
         
     | 
| 
       17 
     | 
    
         
            -
            * <b>[translate](https://github.com/seleniumbase/SeleniumBase/tree/master/seleniumbase/translate):</b> This folder contains code for translating tests into different languages.
         
     | 
| 
       18 
     | 
    
         
            -
            * <b>[behave](https://github.com/seleniumbase/SeleniumBase/tree/master/seleniumbase/behave):</b> This folder contains code for integrating with the Behave BDD test runner.
         
     | 
| 
       19 
     | 
    
         
            -
            * <b>[masterqa](https://github.com/seleniumbase/SeleniumBase/tree/master/seleniumbase/masterqa):</b> MasterQA is a tool for combining automation with manual verification.
         
     | 
| 
       20 
     | 
    
         
            -
             
     | 
| 
       21 
     | 
    
         
            -
            --------
         
     | 
| 
       22 
     | 
    
         
            -
             
     | 
| 
       23 
     | 
    
         
            -
            <img src="https://seleniumbase.github.io/cdn/img/sb_text_f.png" title="SeleniumBase" align="center" width="360">
         
     | 
| 
       24 
     | 
    
         
            -
             
     | 
| 
       25 
     | 
    
         
            -
            <div><a href="https://github.com/seleniumbase/SeleniumBase"><img src="https://seleniumbase.github.io/cdn/img/sb_logo_gs.png" alt="SeleniumBase" width="360" /></a></div>
         
     | 
    
        seleniumbase/common/ReadMe.md
    DELETED
    
    | 
         @@ -1,71 +0,0 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            <!-- SeleniumBase Docs -->
         
     | 
| 
       2 
     | 
    
         
            -
             
     | 
| 
       3 
     | 
    
         
            -
            ## Using [seleniumbase/common](https://github.com/seleniumbase/SeleniumBase/blob/master/seleniumbase/common) methods.
         
     | 
| 
       4 
     | 
    
         
            -
             
     | 
| 
       5 
     | 
    
         
            -
            ### Part 1: Decorators - (from [decorators.py](https://github.com/seleniumbase/SeleniumBase/blob/master/seleniumbase/common/decorators.py))
         
     | 
| 
       6 
     | 
    
         
            -
             
     | 
| 
       7 
     | 
    
         
            -
            #### Use these Python decorators with your test methods as needed:
         
     | 
| 
       8 
     | 
    
         
            -
             
     | 
| 
       9 
     | 
    
         
            -
            * ``@print_runtime(description=None, limit=None)``
         
     | 
| 
       10 
     | 
    
         
            -
             
     | 
| 
       11 
     | 
    
         
            -
            * ``@runtime_limit(limit, description=None)``
         
     | 
| 
       12 
     | 
    
         
            -
             
     | 
| 
       13 
     | 
    
         
            -
            * ``@retry_on_exception(tries=6, delay=1, backoff=2, max_delay=32)``
         
     | 
| 
       14 
     | 
    
         
            -
             
     | 
| 
       15 
     | 
    
         
            -
            * ``@rate_limited(max_per_second)``
         
     | 
| 
       16 
     | 
    
         
            -
             
     | 
| 
       17 
     | 
    
         
            -
            Example demonstrating a rate-limited printing functionality:
         
     | 
| 
       18 
     | 
    
         
            -
             
     | 
| 
       19 
     | 
    
         
            -
            ```python
         
     | 
| 
       20 
     | 
    
         
            -
            import unittest
         
     | 
| 
       21 
     | 
    
         
            -
            from seleniumbase import decorators
         
     | 
| 
       22 
     | 
    
         
            -
             
     | 
| 
       23 
     | 
    
         
            -
            class MyTestClass(unittest.TestCase):
         
     | 
| 
       24 
     | 
    
         
            -
             
     | 
| 
       25 
     | 
    
         
            -
                @decorators.rate_limited(3.5)  # The arg is max calls per second
         
     | 
| 
       26 
     | 
    
         
            -
                def print_item(self, item):
         
     | 
| 
       27 
     | 
    
         
            -
                    print(item)
         
     | 
| 
       28 
     | 
    
         
            -
             
     | 
| 
       29 
     | 
    
         
            -
                def test_rate_limited_printing(self):
         
     | 
| 
       30 
     | 
    
         
            -
                    print("\nRunning rate-limited print test:")
         
     | 
| 
       31 
     | 
    
         
            -
                    for item in range(1, 11):
         
     | 
| 
       32 
     | 
    
         
            -
                        self.print_item(item)
         
     | 
| 
       33 
     | 
    
         
            -
            ```
         
     | 
| 
       34 
     | 
    
         
            -
             
     | 
| 
       35 
     | 
    
         
            -
            ### Part 2: String/Password Obfuscation, Encryption, and Decryption
         
     | 
| 
       36 
     | 
    
         
            -
             
     | 
| 
       37 
     | 
    
         
            -
            #### Intro:
         
     | 
| 
       38 
     | 
    
         
            -
             
     | 
| 
       39 
     | 
    
         
            -
            Often in your tests, you may need to login to a website to perform testing. This generally means storing passwords in plaintext formats. For security reasons, that may not be an optimal solution. For this reason, encryption/obfuscation tools have been built here to help you mask your passwords in your tests. It's not a bulletproof solution, but it can keep anyone looking over your shoulder during test creation from getting your login passwords if they don't have your encryption key, which is stored in a separate file.
         
     | 
| 
       40 
     | 
    
         
            -
             
     | 
| 
       41 
     | 
    
         
            -
            #### Usage:
         
     | 
| 
       42 
     | 
    
         
            -
             
     | 
| 
       43 
     | 
    
         
            -
            * First, set your custom encryption/decryption key in your local clone of [settings.py](https://github.com/seleniumbase/SeleniumBase/blob/master/seleniumbase/config/settings.py). (If you modify the key later, you'll need to encrypt all your passwords again.)
         
     | 
| 
       44 
     | 
    
         
            -
             
     | 
| 
       45 
     | 
    
         
            -
            * Next, use [obfuscate.py](https://github.com/seleniumbase/SeleniumBase/blob/master/seleniumbase/common/obfuscate.py) to obfuscate/encrypt passwords into coded strings:
         
     | 
| 
       46 
     | 
    
         
            -
             
     | 
| 
       47 
     | 
    
         
            -
            ```bash
         
     | 
| 
       48 
     | 
    
         
            -
            python obfuscate.py
         
     | 
| 
       49 
     | 
    
         
            -
             
     | 
| 
       50 
     | 
    
         
            -
            Enter password to obfuscate: (CTRL+C to exit)
         
     | 
| 
       51 
     | 
    
         
            -
            Password: *********
         
     | 
| 
       52 
     | 
    
         
            -
            Verify password:
         
     | 
| 
       53 
     | 
    
         
            -
            Password: *********
         
     | 
| 
       54 
     | 
    
         
            -
             
     | 
| 
       55 
     | 
    
         
            -
            Here is the obfuscated password:
         
     | 
| 
       56 
     | 
    
         
            -
            $^*ENCRYPT=RXlYMSJWTz8HSwM=?&#$
         
     | 
| 
       57 
     | 
    
         
            -
            ```
         
     | 
| 
       58 
     | 
    
         
            -
             
     | 
| 
       59 
     | 
    
         
            -
            (You can also use [unobfuscate.py](https://github.com/seleniumbase/SeleniumBase/blob/master/seleniumbase/common/unobfuscate.py) to encrypt passwords without having them masked while typing them. Or you can use it to decrypt an obfuscated password.)
         
     | 
| 
       60 
     | 
    
         
            -
             
     | 
| 
       61 
     | 
    
         
            -
            * Finally, in your tests you can now decrypt obfuscated passwords for use in login methods like this:
         
     | 
| 
       62 
     | 
    
         
            -
             
     | 
| 
       63 
     | 
    
         
            -
            ```python
         
     | 
| 
       64 
     | 
    
         
            -
            from seleniumbase import encryption
         
     | 
| 
       65 
     | 
    
         
            -
            ...
         
     | 
| 
       66 
     | 
    
         
            -
            password = encryption.decrypt('$^*ENCRYPT=RXlYMSJWTz8HSwM=?&#$')
         
     | 
| 
       67 
     | 
    
         
            -
            ```
         
     | 
| 
       68 
     | 
    
         
            -
             
     | 
| 
       69 
     | 
    
         
            -
            (You'll notice that encrypted strings have a common start token and end token. This is to help tell them apart from non-encrypted strings. You can customize these tokens in [settings.py](https://github.com/seleniumbase/SeleniumBase/blob/master/seleniumbase/config/settings.py). The current default setting is `$^*ENCRYPT=` for the start token and `?&#$` for the end token.)
         
     | 
| 
       70 
     | 
    
         
            -
             
     | 
| 
       71 
     | 
    
         
            -
            See [decryption_test.py](https://github.com/seleniumbase/SeleniumBase/blob/master/examples/decryption_test.py) for an example of decrypting encrypted passwords in tests.
         
     |