Fix issue with loading more data than needed

This commit is contained in:
Michael Mintz 2022-10-03 17:30:29 -04:00
parent 2e27f31769
commit 40b374a675
11 changed files with 611 additions and 510 deletions

View File

@ -989,7 +989,7 @@ def dashboard_pre_processing():
def _create_dashboard_assets_():
import codecs
from seleniumbase.js_code.live_js import live_js
from seleniumbase.core.style_sheet import pytest_style
from seleniumbase.core.style_sheet import get_pytest_style
abs_path = os.path.abspath(".")
assets_folder = os.path.join(abs_path, "assets")
@ -1001,11 +1001,11 @@ def _create_dashboard_assets_():
existing_pytest_style = None
with open(pytest_style_css, "r") as f:
existing_pytest_style = f.read()
if existing_pytest_style == pytest_style:
if existing_pytest_style == get_pytest_style():
add_pytest_style_css = False
if add_pytest_style_css:
out_file = codecs.open(pytest_style_css, "w+", encoding="utf-8")
out_file.writelines(pytest_style)
out_file.writelines(get_pytest_style())
out_file.close()
live_js_file = os.path.join(assets_folder, "live.js")
add_live_js_file = True
@ -1082,8 +1082,8 @@ def _perform_behave_unconfigure_():
)
find_it_3 = '<td class="col-result">Untested</td>'
swap_with_3 = '<td class="col-result">Unreported</td>'
find_it_4 = 'href="%s"' % constants.Dashboard.DASH_PIE_PNG_1
swap_with_4 = 'href="%s"' % constants.Dashboard.DASH_PIE_PNG_2
find_it_4 = 'href="%s"' % constants.Dashboard.get_dash_pie_1()
swap_with_4 = 'href="%s"' % constants.Dashboard.get_dash_pie_2()
try:
abs_path = os.path.abspath(".")
dashboard_path = os.path.join(abs_path, "dashboard.html")

View File

@ -3,146 +3,174 @@
> with open("YOUR_FILE.png", "rb") as image_file:
> encoded_string = base64.b64encode(image_file.read())
"""
DASH_PIE_PNG_1 = (
"data:image/gif;base64,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"
)
DASH_PIE_PNG_2 = (
"data:image/gif;base64,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"
)
DASH_PIE_PNG_3 = (
"data:image/gif;base64,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"
)
REPORT_FAVICON = (
"data:image/gif;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAAXN"
"SR0IArs4c6QAAAM9JREFUKBVjnNS8goEUwESKYpBaFiD+z/hTJz2EoM4rM9cw/mcHaYCA2Nl3"
"YUwEvTBFkZGREchnBEIwAGv4z/6f4T8DWAIk+P8/RA6ZBCkAA4QNi1IUkVVgYf9nBwpCNTiLc"
"GNRgSp0FcxF2CC3RhVVAcOjkNtAEYg4hA3kIjRAPYWmCeRdFIDQ8BBsHookmIMmDtXw5s0bTK"
"VoIhCrQBogLHaPUGQVP7avgnA5PMOAjJ87VkO4ZCUNiFa4GRAu3K9o4lA/LJ+xF6KOIEmykwB"
"QHy74EMZM3QAAAABJRU5ErkJggg=="
)
SIDE_BY_SIDE_PNG = (
"data:image/gif;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAAXN"
"SR0IArs4c6QAAAIVJREFUKBVjvPLvPwMpgIkUxSC1LBANOo0oGq/Ug7hYBUm2gWQNjBBPa/1l"
"RHbTNWZQSGAVhPqBaRWyeoYrkSAuozaKIMMNEJdkJ5GsAeqkf2Eotl8D8/5fRRGEcGB+aEGJb"
"0g8MGEVxGIIXiFy/eC8CuJsmOH1WkAWVkFoxMEUEqZJdhIAo3Aj/iHmzlMAAAAASUVORK5CYI"
"I="
)
def get_dash_pie_png1():
DASH_PIE_PNG_1 = (
"data:image/gif;base64,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"
)
return DASH_PIE_PNG_1
def get_dash_pie_png2():
DASH_PIE_PNG_2 = (
"data:image/gif;base64,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"
"12Tf/wU491oPtPXjKQAAAABJRU5ErkJggg=="
)
return DASH_PIE_PNG_2
def get_dash_pie_png3():
DASH_PIE_PNG_3 = (
"data:image/gif;base64,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"
"FCCAAAAAElFTkSuQmCC"
)
return DASH_PIE_PNG_3
def get_report_favicon():
REPORT_FAVICON = (
"data:image/gif;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAA"
"AAXNSR0IArs4c6QAAAM9JREFUKBVjnNS8goEUwESKYpBaFiD+z/hTJz2EoM4rM9cw/mcH"
"aYCA2Nl3YUwEvTBFkZGREchnBEIwAGv4z/6f4T8DWAIk+P8/RA6ZBCkAA4QNi1IUkVVgY"
"f9nBwpCNTiLcGNRgSp0FcxF2CC3RhVVAcOjkNtAEYg4hA3kIjRAPYWmCeRdFIDQ8BBsHo"
"okmIMmDtXw5s0bTKVoIhCrQBogLHaPUGQVP7avgnA5PMOAjJ87VkO4ZCUNiFa4GRAu3K9"
"o4lA/LJ+xF6KOIEmykwBQHy74EMZM3QAAAABJRU5ErkJggg=="
)
return REPORT_FAVICON
def get_side_by_side_png():
SIDE_BY_SIDE_PNG = (
"data:image/gif;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAA"
"AAXNSR0IArs4c6QAAAIVJREFUKBVjvPLvPwMpgIkUxSC1LBANOo0oGq/Ug7hYBUm2gWQN"
"jBBPa/1lRHbTNWZQSGAVhPqBaRWyeoYrkSAuozaKIMMNEJdkJ5GsAeqkf2Eotl8D8/5fR"
"RGEcGB+aEGJb0g8MGEVxGIIXiFy/eC8CuJsmOH1WkAWVkFoxMEUEqZJdhIAo3Aj/iHmzl"
"MAAAAASUVORK5CYII="
)
return SIDE_BY_SIDE_PNG

View File

@ -5,7 +5,7 @@ import sys
import time
from seleniumbase import config as sb_config
from seleniumbase.config import settings
from seleniumbase.core.style_sheet import style
from seleniumbase.core.style_sheet import get_report_style
LATEST_REPORT_DIR = settings.LATEST_REPORT_DIR
ARCHIVE_DIR = settings.REPORT_ARCHIVE_DIR
@ -292,7 +292,7 @@ def build_report(
passing_list,
)
report_html = "<html><head>%s</head><body>%s</body></html>" % (
style,
get_report_style(),
table_view,
)
results_file = add_results_page(report_html)

View File

@ -1,336 +1,391 @@
from seleniumbase.fixtures import constants
title = """<meta id="OGTitle" property="og:title" content="SeleniumBase">
<title>Test Report</title>
<link rel="SHORTCUT ICON"
href="%s" /> """ % constants.Report.FAVICON
style = (
title
+ """<style type="text/css">
html {
background-color: #9988ad;
}
html, body {
font-size: 100%;
box-sizing: border-box;
}
body {
background-image: none;
background-origin: padding-box;
background-color: #c6d6f0;
padding: 30;
margin: 10;
font-family: "Proxima Nova","proxima-nova",
"Helvetica Neue",Helvetica,Arial,sans-serif !important;
text-rendering: optimizelegibility;
-moz-osx-font-smoothing: grayscale;
box-shadow: 0px 2px 5px 1px rgba(0, 0, 0, 0.24),
1px 2px 12px 0px rgba(0, 0, 0, 0.18) !important;
}
table {
width: 100%;
border-collapse: collapse;
border-spacing: 0;
box-shadow: 0px 2px 5px 1px rgba(0, 0, 0, 0.27),
1px 2px 12px 0px rgba(0, 0, 0, 0.21) !important;
transition: all 0.15s ease-out 0s;
transition-property: all;
transition-duration: 0.1s;
transition-timing-function: ease-out;
transition-delay: 0s;
}
table:hover {
box-shadow: 0px 2px 5px 1px rgba(0, 0, 0, 0.35),
1px 2px 12px 0px rgba(0, 0, 0, 0.28) !important;
}
thead th, thead td {
padding: 0.5rem 0.625rem 0.625rem;
font-weight: bold;
text-align: left;
}
thead {
text-align: center;
border: 1px solid #e1e1e1;
width: 150%;
color: #0C8CDF;
background-color: #c0f0ff;
}
tbody tr:nth-child(even) {
background-color: #f1f1f1;
}
tbody tr:nth-child(odd) {
background-color: #ffffff;
}
tbody tr:nth-child(even):hover {
background-color: #f8f8d2;
}
tbody tr:nth-child(odd):hover {
background-color: #ffffe0;
}
tbody th, tbody td {
padding: 0.5rem 0.625rem 0.625rem;
}
tbody {
border: 1px solid #e1e1e1;
background-color: #fefefe;
}
td {
padding: 5px 5px 5px 0;
vertical-align: top;
}
h1 table {
font-size: 27px;
text-align: left;
padding: 0.5rem 0.625rem 0.625rem;
font-weight: bold;
padding-right: 10px;
padding-left: 20px;
padding: 15px 15px 15px 0;
}
h2 table {
color: #0C8CDF;
font-size: 16px;
text-align: left;
font-weight: bold;
padding: 5px 5px 5px 0;
padding-right: 10px;
padding-left: 20px;
}
</style>"""
)
class Saved:
# Storing data to prevent extra loading
pass
# Bootstrap Tour Backdrop Style
bt_backdrop_style = """
.tour-tour-element {
pointer-events: none !important;
}
:not(.tour-tour-element) .orphan.tour-tour {
box-shadow: 0 0 0 88422px rgba(0, 0, 0, 0.42);
pointer-events: auto !important;
}
def get_report_style():
if hasattr(Saved, "report_style"):
return Saved.report_style
title = """<meta id="OGTitle" property="og:title" content="SeleniumBase">
<title>Test Report</title>
<link rel="SHORTCUT ICON"
href="%s" /> """ % constants.Report.get_favicon()
style = (
title
+ """<style type="text/css">
html {
background-color: #9988ad;
}
html, body {
font-size: 100%;
box-sizing: border-box;
}
body {
background-image: none;
background-origin: padding-box;
background-color: #c6d6f0;
padding: 30;
margin: 10;
font-family: "Proxima Nova","proxima-nova",
"Helvetica Neue",Helvetica,Arial,sans-serif !important;
text-rendering: optimizelegibility;
-moz-osx-font-smoothing: grayscale;
box-shadow: 0px 2px 5px 1px rgba(0, 0, 0, 0.24),
1px 2px 12px 0px rgba(0, 0, 0, 0.18) !important;
}
table {
width: 100%;
border-collapse: collapse;
border-spacing: 0;
box-shadow: 0px 2px 5px 1px rgba(0, 0, 0, 0.27),
1px 2px 12px 0px rgba(0, 0, 0, 0.21) !important;
transition: all 0.15s ease-out 0s;
transition-property: all;
transition-duration: 0.1s;
transition-timing-function: ease-out;
transition-delay: 0s;
}
table:hover {
box-shadow: 0px 2px 5px 1px rgba(0, 0, 0, 0.35),
1px 2px 12px 0px rgba(0, 0, 0, 0.28) !important;
}
thead th, thead td {
padding: 0.5rem 0.625rem 0.625rem;
font-weight: bold;
text-align: left;
}
thead {
text-align: center;
border: 1px solid #e1e1e1;
width: 150%;
color: #0C8CDF;
background-color: #c0f0ff;
}
tbody tr:nth-child(even) {
background-color: #f1f1f1;
}
tbody tr:nth-child(odd) {
background-color: #ffffff;
}
tbody tr:nth-child(even):hover {
background-color: #f8f8d2;
}
tbody tr:nth-child(odd):hover {
background-color: #ffffe0;
}
tbody th, tbody td {
padding: 0.5rem 0.625rem 0.625rem;
}
tbody {
border: 1px solid #e1e1e1;
background-color: #fefefe;
}
td {
padding: 5px 5px 5px 0;
vertical-align: top;
}
h1 table {
font-size: 27px;
text-align: left;
padding: 0.5rem 0.625rem 0.625rem;
font-weight: bold;
padding-right: 10px;
padding-left: 20px;
padding: 15px 15px 15px 0;
}
h2 table {
color: #0C8CDF;
font-size: 16px;
text-align: left;
font-weight: bold;
padding: 5px 5px 5px 0;
padding-right: 10px;
padding-left: 20px;
}
</style>"""
)
Saved.report_style = style
return style
def get_bt_backdrop_style():
# Bootstrap Tour Backdrop Style
if hasattr(Saved, "bt_backdrop_style"):
return Saved.bt_backdrop_style
bt_backdrop_style = """
.tour-tour-element {
pointer-events: none !important;
}
:not(.tour-tour-element) .orphan.tour-tour {
box-shadow: 0 0 0 88422px rgba(0, 0, 0, 0.42);
pointer-events: auto !important;
}
"""
Saved.bt_backdrop_style = bt_backdrop_style
return bt_backdrop_style
def get_dt_backdrop_style():
# DriverJS Tour Backdrop Style
if hasattr(Saved, "dt_backdrop_style"):
return Saved.dt_backdrop_style
dt_backdrop_style = """
.driver-fix-stacking {
pointer-events: none !important;
}
#driver-popover-item, .popover-class {
pointer-events: auto !important;
}
button.driver-prev-btn.driver-disabled {
visibility: hidden;
}
"""
Saved.dt_backdrop_style = dt_backdrop_style
return dt_backdrop_style
def get_messenger_style():
if hasattr(Saved, "messenger_style"):
return Saved.messenger_style
font_family = '"Proxima Nova","proxima-nova",Arial,sans-serif !important'
messenger_style = """
.messenger-message-inner {
font-family: %s;
font-size: 17px;
}
ul.messenger-theme-flat {
box-shadow: 2px 2px 5px 2px rgba(16, 128, 120, 0.34),
2px 2px 10px 2px rgba(16, 128, 120, 0.28) !important;
}
""" % font_family
Saved.messenger_style = messenger_style
return messenger_style
def get_sh_style_test():
if hasattr(Saved, "sh_style_test"):
return Saved.sh_style_test
sh_style_test = """
var test_tour = new Shepherd.Tour({
defaults: {
classes: 'shepherd-theme-dark',
scrollTo: true
}
});
"""
Saved.sh_style_test = sh_style_test
return sh_style_test
def get_hops_backdrop_style():
# Hopscotch Backdrop Style
if hasattr(Saved, "hops_backdrop_style"):
return Saved.hops_backdrop_style
hops_backdrop_style = """
.hopscotch-bubble-container {
font-size: 110%;
}
"""
Saved.hops_backdrop_style = hops_backdrop_style
return hops_backdrop_style
def get_introjs_style():
# IntroJS Style
if hasattr(Saved, "introjs_style"):
return Saved.introjs_style
introjs_style = """
.introjs-button.introjs-nextbutton,
.introjs-button.introjs-donebutton {
color: #fff !important;
background-color: %s !important;
border: 1px solid %s !important;
text-shadow: none;
box-shadow: none;
}
.introjs-button.introjs-nextbutton:hover,
.introjs-button.introjs-donebutton:hover {
color: #fff !important;
background-color: %s !important;
border: 1px solid %s !important;
}
.introjs-button {
box-sizing: content-box;
text-decoration: none;
}
.introjs-button.introjs-skipbutton {
color: %s;
}
.introjs-tooltip, .introjs-floating {
box-sizing: content-box;
position: absolute;
}
"""
Saved.introjs_style = introjs_style
return introjs_style
# DriverJS Tour Backdrop Style
dt_backdrop_style = """
.driver-fix-stacking {
pointer-events: none !important;
}
#driver-popover-item, .popover-class {
pointer-events: auto !important;
}
button.driver-prev-btn.driver-disabled {
visibility: hidden;
}
"""
messenger_style = """
.messenger-message-inner {
font-family: "Proxima Nova","proxima-nova",Arial,sans-serif !important;
font-size: 17px;
}
ul.messenger-theme-flat {
box-shadow: 2px 2px 5px 2px rgba(16, 128, 120, 0.34),
2px 2px 10px 2px rgba(16, 128, 120, 0.28) !important;
}
"""
def get_sh_backdrop_style():
# Shepherd Backdrop Style
if hasattr(Saved, "sh_backdrop_style"):
return Saved.sh_backdrop_style
sh_backdrop_style = """
body.shepherd-active .shepherd-target.shepherd-enabled {
box-shadow: 0 0 0 99999px rgba(0, 0, 0, 0.20);
pointer-events: none !important;
z-index: 9999;
}
body.shepherd-active .shepherd-orphan {
box-shadow: 0 0 0 99999px rgba(0, 0, 0, 0.20);
pointer-events: auto;
z-index: 9999;
}
body.shepherd-active
.shepherd-enabled.shepherd-element-attached-top {
position: relative;
}
body.shepherd-active
.shepherd-enabled.shepherd-element-attached-bottom {
position: relative;
}
body.shepherd-active .shepherd-step {
pointer-events: auto;
z-index: 9999;
}
body.shepherd-active {
pointer-events: none !important;
}
"""
Saved.sh_backdrop_style = sh_backdrop_style
return sh_backdrop_style
sh_style_test = """
var test_tour = new Shepherd.Tour({
defaults: {
classes: 'shepherd-theme-dark',
scrollTo: true
}
});
"""
# Hopscotch Backdrop Style
hops_backdrop_style = """
.hopscotch-bubble-container {
font-size: 110%;
}
"""
# IntroJS Style
introjs_style = """
.introjs-button.introjs-nextbutton,
.introjs-button.introjs-donebutton {
color: #fff !important;
background-color: %s !important;
border: 1px solid %s !important;
text-shadow: none;
box-shadow: none;
}
.introjs-button.introjs-nextbutton:hover,
.introjs-button.introjs-donebutton:hover {
color: #fff !important;
background-color: %s !important;
border: 1px solid %s !important;
}
.introjs-button {
box-sizing: content-box;
text-decoration: none;
}
.introjs-button.introjs-skipbutton {
color: %s;
}
.introjs-tooltip, .introjs-floating {
box-sizing: content-box;
position: absolute;
}
"""
# Shepherd Backdrop Style
sh_backdrop_style = """
body.shepherd-active .shepherd-target.shepherd-enabled {
box-shadow: 0 0 0 99999px rgba(0, 0, 0, 0.20);
pointer-events: none !important;
z-index: 9999;
}
body.shepherd-active .shepherd-orphan {
box-shadow: 0 0 0 99999px rgba(0, 0, 0, 0.20);
pointer-events: auto;
z-index: 9999;
}
body.shepherd-active
.shepherd-enabled.shepherd-element-attached-top {
position: relative;
}
body.shepherd-active
.shepherd-enabled.shepherd-element-attached-bottom {
position: relative;
}
body.shepherd-active .shepherd-step {
pointer-events: auto;
z-index: 9999;
}
body.shepherd-active {
pointer-events: none !important;
}
"""
# pytest html-report Style
pytest_style = """
body {
font-family: Helvetica, Arial, sans-serif;
font-size: 12px;
min-width: 800px;
color: #999;
}
h1 {
font-size: 24px;
color: black;
}
h2 {
font-size: 16px;
color: black;
}
p {
color: black;
}
a {
color: #999;
}
table {
border-collapse: collapse;
}
#environment td {
padding: 5px;
border: 1px solid #E6E6E6;
}
#environment tr:nth-child(odd) {
background-color: #f6f6f6;
}
span.passed, .passed .col-result {
color: green;
}
span.skipped, span.xfailed, span.rerun, .skipped .col-result,
.xfailed .col-result, .rerun .col-result {
color: orange;
}
span.error, span.failed, span.xpassed, .error .col-result,
.failed .col-result, .xpassed .col-result {
color: red;
}
#results-table {
border: 1px solid #e6e6e6;
color: #999;
font-size: 12px;
width: 100%
}
#results-table th, #results-table td {
padding: 5px;
border: 1px solid #E6E6E6;
text-align: left
}
#results-table th {
font-weight: bold
}
.log:only-child {
height: inherit
}
.log {
background-color: #e6e6e6;
border: 1px solid #e6e6e6;
color: black;
display: block;
font-family: "Courier New", Courier, monospace;
height: 230px;
overflow-y: scroll;
padding: 5px;
white-space: pre-wrap
}
div.image {
border: 1px solid #e6e6e6;
float: right;
height: 240px;
margin-left: 5px;
overflow: hidden;
width: 320px
}
div.image img {
width: 320px
}
.collapsed {
display: none;
}
.expander::after {
content: " (show details)";
color: #BBB;
font-style: italic;
cursor: pointer;
}
.collapser::after {
content: " (hide details)";
color: #BBB;
font-style: italic;
cursor: pointer;
}
.sortable {
cursor: pointer;
}
.sort-icon {
font-size: 0px;
float: left;
margin-right: 5px;
margin-top: 5px;
width: 0;
height: 0;
border-left: 8px solid transparent;
border-right: 8px solid transparent;
}
.inactive .sort-icon {
border-top: 8px solid #E6E6E6;
}
.asc.active .sort-icon {
border-bottom: 8px solid #999;
}
.desc.active .sort-icon {
border-top: 8px solid #999;
}
"""
def get_pytest_style():
# pytest html-report Style
if hasattr(Saved, "pytest_style"):
return Saved.pytest_style
pytest_style = """
body {
font-family: Helvetica, Arial, sans-serif;
font-size: 12px;
min-width: 800px;
color: #999;
}
h1 {
font-size: 24px;
color: black;
}
h2 {
font-size: 16px;
color: black;
}
p {
color: black;
}
a {
color: #999;
}
table {
border-collapse: collapse;
}
#environment td {
padding: 5px;
border: 1px solid #E6E6E6;
}
#environment tr:nth-child(odd) {
background-color: #f6f6f6;
}
span.passed, .passed .col-result {
color: green;
}
span.skipped, span.xfailed, span.rerun, .skipped .col-result,
.xfailed .col-result, .rerun .col-result {
color: orange;
}
span.error, span.failed, span.xpassed, .error .col-result,
.failed .col-result, .xpassed .col-result {
color: red;
}
#results-table {
border: 1px solid #e6e6e6;
color: #999;
font-size: 12px;
width: 100%
}
#results-table th, #results-table td {
padding: 5px;
border: 1px solid #E6E6E6;
text-align: left
}
#results-table th {
font-weight: bold
}
.log:only-child {
height: inherit
}
.log {
background-color: #e6e6e6;
border: 1px solid #e6e6e6;
color: black;
display: block;
font-family: "Courier New", Courier, monospace;
height: 230px;
overflow-y: scroll;
padding: 5px;
white-space: pre-wrap
}
div.image {
border: 1px solid #e6e6e6;
float: right;
height: 240px;
margin-left: 5px;
overflow: hidden;
width: 320px
}
div.image img {
width: 320px
}
.collapsed {
display: none;
}
.expander::after {
content: " (show details)";
color: #BBB;
font-style: italic;
cursor: pointer;
}
.collapser::after {
content: " (hide details)";
color: #BBB;
font-style: italic;
cursor: pointer;
}
.sortable {
cursor: pointer;
}
.sort-icon {
font-size: 0px;
float: left;
margin-right: 5px;
margin-top: 5px;
width: 0;
height: 0;
border-left: 8px solid transparent;
border-right: 8px solid transparent;
}
.inactive .sort-icon {
border-top: 8px solid #E6E6E6;
}
.asc.active .sort-icon {
border-bottom: 8px solid #999;
}
.desc.active .sort-icon {
border-top: 8px solid #999;
}
"""
Saved.pytest_style = pytest_style
return pytest_style

View File

@ -27,7 +27,7 @@ def activate_bootstrap(driver):
var tour2 = new Tour({
});"""
backdrop_style = style_sheet.bt_backdrop_style
backdrop_style = style_sheet.get_bt_backdrop_style()
js_utils.add_css_style(driver, backdrop_style)
js_utils.wait_for_ready_state_complete(driver)
js_utils.wait_for_angularjs(driver)
@ -62,7 +62,7 @@ def activate_driverjs(driver):
"""Allows you to use DriverJS Tours with SeleniumBase
https://kamranahmed.info/driver.js/
"""
backdrop_style = style_sheet.dt_backdrop_style
backdrop_style = style_sheet.get_dt_backdrop_style()
driverjs_css = constants.DriverJS.MIN_CSS
driverjs_js = constants.DriverJS.MIN_JS
@ -109,7 +109,7 @@ def activate_hopscotch(driver):
"""
hopscotch_css = constants.Hopscotch.MIN_CSS
hopscotch_js = constants.Hopscotch.MIN_JS
backdrop_style = style_sheet.hops_backdrop_style
backdrop_style = style_sheet.get_hops_backdrop_style()
verify_script = """// Verify Hopscotch activated
var hops = hopscotch.isActive;
@ -157,7 +157,7 @@ def activate_introjs(driver):
theme_color = sb_config.introjs_theme_color
hover_color = sb_config.introjs_hover_color
backdrop_style = style_sheet.introjs_style % (
backdrop_style = style_sheet.get_introjs_style() % (
theme_color,
hover_color,
hover_color,
@ -215,8 +215,8 @@ def activate_shepherd(driver):
sh_theme_sq_dark_css = constants.Shepherd.THEME_SQ_DK_CSS
tether_js = constants.Tether.MIN_JS
spinner_css = constants.Messenger.SPINNER_CSS
sh_style = style_sheet.sh_style_test
backdrop_style = style_sheet.sh_backdrop_style
sh_style = style_sheet.get_sh_style_test()
backdrop_style = style_sheet.get_sh_backdrop_style()
activate_bootstrap(driver)
js_utils.wait_for_ready_state_complete(driver)
@ -252,7 +252,7 @@ def activate_shepherd(driver):
def is_shepherd_activated(driver):
sh_style = style_sheet.sh_style_test
sh_style = style_sheet.get_sh_style_test()
try:
driver.execute_script(sh_style) # Verify Shepherd has loaded
return True
@ -923,7 +923,7 @@ def export_tour(tour_steps, name=None, filename="my_tour.js", url=None):
jquery_js = constants.JQuery.MIN_JS
bootstrap_tour_css = constants.BootstrapTour.MIN_CSS
bootstrap_tour_js = constants.BootstrapTour.MIN_JS
backdrop_style = style_sheet.bt_backdrop_style
backdrop_style = style_sheet.get_bt_backdrop_style()
backdrop_style = backdrop_style.replace("\n", "")
backdrop_style = js_utils.escape_quotes_if_needed(backdrop_style)
instructions += 'injectJS("%s");\n' % jquery_js
@ -940,7 +940,7 @@ def export_tour(tour_steps, name=None, filename="my_tour.js", url=None):
elif tour_type == "driverjs":
driverjs_css = constants.DriverJS.MIN_CSS
driverjs_js = constants.DriverJS.MIN_JS
backdrop_style = style_sheet.dt_backdrop_style
backdrop_style = style_sheet.get_dt_backdrop_style()
backdrop_style = backdrop_style.replace("\n", "")
backdrop_style = js_utils.escape_quotes_if_needed(backdrop_style)
instructions += 'injectCSS("%s");\n' % driverjs_css
@ -950,7 +950,7 @@ def export_tour(tour_steps, name=None, filename="my_tour.js", url=None):
elif tour_type == "hopscotch":
hopscotch_css = constants.Hopscotch.MIN_CSS
hopscotch_js = constants.Hopscotch.MIN_JS
backdrop_style = style_sheet.hops_backdrop_style
backdrop_style = style_sheet.get_hops_backdrop_style()
backdrop_style = backdrop_style.replace("\n", "")
backdrop_style = js_utils.escape_quotes_if_needed(backdrop_style)
instructions += 'injectCSS("%s");\n' % hopscotch_css
@ -962,7 +962,7 @@ def export_tour(tour_steps, name=None, filename="my_tour.js", url=None):
intro_js = constants.IntroJS.MIN_JS
theme_color = sb_config.introjs_theme_color
hover_color = sb_config.introjs_hover_color
backdrop_style = style_sheet.introjs_style % (
backdrop_style = style_sheet.get_introjs_style() % (
theme_color,
hover_color,
hover_color,
@ -986,7 +986,7 @@ def export_tour(tour_steps, name=None, filename="my_tour.js", url=None):
sh_theme_sq_dark_css = constants.Shepherd.THEME_SQ_DK_CSS
tether_js = constants.Tether.MIN_JS
spinner_css = constants.Messenger.SPINNER_CSS
backdrop_style = style_sheet.sh_backdrop_style
backdrop_style = style_sheet.get_sh_backdrop_style()
backdrop_style = backdrop_style.replace("\n", "")
backdrop_style = js_utils.escape_quotes_if_needed(backdrop_style)
instructions += 'injectCSS("%s");\n' % spinner_css

View File

@ -26,7 +26,7 @@ def get_sbs_head():
'<meta name="viewport" content="shrink-to-fit=no">'
'<link rel="shortcut icon" href="%s">'
"<title>Visual Comparison</title>"
"</head>" % (constants.SideBySide.SIDE_BY_SIDE_PNG)
"</head>" % (constants.SideBySide.get_favicon())
)
return head

View File

@ -13488,7 +13488,7 @@ class BaseCase(unittest.TestCase):
"%s"
"<title>Dashboard</title>"
"%s</head>"
% (constants.Dashboard.DASH_PIE_PNG_1, auto_refresh_html, style)
% (constants.Dashboard.get_dash_pie_1(), auto_refresh_html, style)
)
table_html = (
"<div></div>"

View File

@ -78,12 +78,21 @@ class Dashboard:
LOCKFILE = Files.DOWNLOADS_FOLDER + "/dashboard.lock"
DASH_JSON = Files.DOWNLOADS_FOLDER + "/dashboard.json"
DASH_PIE = Files.DOWNLOADS_FOLDER + "/dash_pie.json"
# DASH_PIE_PNG_1 = "https://seleniumbase.io/img/dash_pie.png"
# DASH_PIE_PNG_2 = "https://seleniumbase.io/img/dash_pie_2.png"
# DASH_PIE_PNG_3 = "https://seleniumbase.io/img/dash_pie_3.png"
DASH_PIE_PNG_1 = encoded_images.DASH_PIE_PNG_1 # Faster than CDN
DASH_PIE_PNG_2 = encoded_images.DASH_PIE_PNG_2 # Faster than CDN
DASH_PIE_PNG_3 = encoded_images.DASH_PIE_PNG_3 # Faster than CDN
def get_dash_pie_1():
if not hasattr(encoded_images, "DASH_PIE_PNG_1"):
encoded_images.DASH_PIE_PNG_1 = encoded_images.get_dash_pie_png1()
return encoded_images.DASH_PIE_PNG_1
def get_dash_pie_2():
if not hasattr(encoded_images, "DASH_PIE_PNG_2"):
encoded_images.DASH_PIE_PNG_2 = encoded_images.get_dash_pie_png2()
return encoded_images.DASH_PIE_PNG_2
def get_dash_pie_3():
if not hasattr(encoded_images, "DASH_PIE_PNG_3"):
encoded_images.DASH_PIE_PNG_3 = encoded_images.get_dash_pie_png3()
return encoded_images.DASH_PIE_PNG_3
class PipInstall:
@ -91,12 +100,21 @@ class PipInstall:
class Report:
FAVICON = encoded_images.REPORT_FAVICON
def get_favicon():
if not hasattr(encoded_images, "REPORT_FAVICON"):
encoded_images.REPORT_FAVICON = encoded_images.get_report_favicon()
return encoded_images.REPORT_FAVICON
class SideBySide:
HTML_FILE = "side_by_side.html"
SIDE_BY_SIDE_PNG = encoded_images.SIDE_BY_SIDE_PNG
def get_favicon():
if not hasattr(encoded_images, "SIDE_BY_SIDE_PNG"):
encoded_images.SIDE_BY_SIDE_PNG = (
encoded_images.get_side_by_side_png()
)
return encoded_images.SIDE_BY_SIDE_PNG
class MultiBrowser:

View File

@ -606,7 +606,7 @@ def activate_html_inspector(driver):
def activate_messenger(driver):
from seleniumbase.core import style_sheet
from seleniumbase.core.style_sheet import get_messenger_style
jquery_js = constants.JQuery.MIN_JS
messenger_css = constants.Messenger.MIN_CSS
@ -640,7 +640,7 @@ def activate_messenger(driver):
add_js_link(driver, underscore_js)
add_css_link(driver, spinner_css)
add_js_link(driver, messenger_js)
add_css_style(driver, style_sheet.messenger_style)
add_css_style(driver, get_messenger_style())
for x in range(10):
# Messenger needs a small amount of time to load & activate.

View File

@ -8,7 +8,7 @@ import time
from selenium.common.exceptions import NoAlertPresentException
from selenium.common.exceptions import WebDriverException
from seleniumbase import BaseCase
from seleniumbase.core.style_sheet import style
from seleniumbase.core.style_sheet import get_report_style
from seleniumbase.config import settings
from seleniumbase.fixtures import js_utils
@ -492,7 +492,7 @@ class MasterQA(BaseCase):
failure_table += "</tbody></table>"
table_view = "%s%s%s" % (summary_table, log_table, failure_table)
report_html = "<html><head>%s</head><body>%s</body></html>" % (
style,
get_report_style(),
table_view,
)
results_file = self.__add_results_page(report_html)

View File

@ -1532,7 +1532,7 @@ def _get_test_ids_(the_item):
def _create_dashboard_assets_():
import codecs
from seleniumbase.js_code.live_js import live_js
from seleniumbase.core.style_sheet import pytest_style
from seleniumbase.core.style_sheet import get_pytest_style
abs_path = os.path.abspath(".")
assets_folder = os.path.join(abs_path, "assets")
@ -1544,11 +1544,11 @@ def _create_dashboard_assets_():
existing_pytest_style = None
with open(pytest_style_css, "r") as f:
existing_pytest_style = f.read()
if existing_pytest_style == pytest_style:
if existing_pytest_style == get_pytest_style():
add_pytest_style_css = False
if add_pytest_style_css:
out_file = codecs.open(pytest_style_css, "w+", encoding="utf-8")
out_file.writelines(pytest_style)
out_file.writelines(get_pytest_style())
out_file.close()
live_js_file = os.path.join(assets_folder, "live.js")
add_live_js_file = True
@ -1776,8 +1776,8 @@ def _perform_pytest_unconfigure_():
)
find_it_3 = '<td class="col-result">Untested</td>'
swap_with_3 = '<td class="col-result">Unreported</td>'
find_it_4 = 'href="%s"' % constants.Dashboard.DASH_PIE_PNG_1
swap_with_4 = 'href="%s"' % constants.Dashboard.DASH_PIE_PNG_2
find_it_4 = 'href="%s"' % constants.Dashboard.get_dash_pie_1()
swap_with_4 = 'href="%s"' % constants.Dashboard.get_dash_pie_2()
try:
abs_path = os.path.abspath(".")
dashboard_path = os.path.join(abs_path, "dashboard.html")
@ -1814,7 +1814,7 @@ def _perform_pytest_unconfigure_():
the_html_d = the_html_d.replace(
"</head>",
'</head><link rel="shortcut icon" '
'href="%s">' % constants.Dashboard.DASH_PIE_PNG_3,
'href="%s">' % constants.Dashboard.get_dash_pie_3(),
)
the_html_d = the_html_d.replace("<html>", '<html lang="en">')
the_html_d = the_html_d.replace(
@ -1863,7 +1863,7 @@ def _perform_pytest_unconfigure_():
the_html_r = the_html_r.replace(
"</head>",
'</head><link rel="shortcut icon" href='
'"%s">' % constants.Dashboard.DASH_PIE_PNG_3,
'"%s">' % constants.Dashboard.get_dash_pie_3(),
)
if sb_config._dash_final_summary:
the_html_r += sb_config._dash_final_summary