report.html

Report generated on 20-Jan-2023 at 18:46:35 by pytest-html v2.1.1

Environment

Packages {"pluggy": "0.13.1", "py": "1.9.0", "pytest": "6.1.0"}
Platform Windows-10-10.0.19041-SP0
Plugins {"allure-pytest": "2.8.18", "datadir": "1.3.1", "html": "2.1.1", "metadata": "1.10.0"}
Python 3.8.5

Summary

63 tests ran in 3351.29 seconds.

28 passed, 0 skipped, 35 failed, 0 errors, 0 expected failures, 0 unexpected passes

Results

Result Test Duration Links
Failed test_orders_and_payment_flow.py::TestOrderAndPaymentFlowCertificationProgram::test_Orders_and_Payment_Flow_certification[A] 0.01
self = <test_orders_and_payment_flow.TestOrderAndPaymentFlowCertificationProgram object at 0x0000020BE09DC6D0>, value = 'A', initialize_pages = None
testdata = {'contact_no': '123456789', 'country': ['in', 'us', 'gb', 'au', 'de', 'sg', ...], 'db_type': 'mysql', 'dynamo_db_type': 'dynamo', ...}

@pytest.mark.test_details("0000","high","Order and Payment Flow","Pradeep")
@pytest.mark.parametrize("value", certification_program_course_read_csv())
def test_Orders_and_Payment_Flow_certification(self,value,initialize_pages,testdata):

'''
Objective: Make payment and validate the data in Dynamo db and mySql

Step 01: get url
Step 02: click on Enroll Now CTA
Step 03: Make payment
Step 04: Validate the Dynamo db and MySql daya for the payment
'''
self.add_rows_in_csv('Report.csv')
url_count = self._count_url_txt_file_subdomain('Orders_and_Payment_Flow_Certification.txt')
logging.info(f"Total URL Present is: {url_count}")

# Step 01: get url
counter = 0
> df = pd.read_csv('Orders_and_Payment_Flow_Certification.csv', on_bad_lines='skip')

test_prod\test_orders_and_payment_flow.py:50:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\util\_decorators.py:311: in wrapper
return func(*args, **kwargs)
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\parsers\readers.py:680: in read_csv
return _read(filepath_or_buffer, kwds)
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\parsers\readers.py:575: in _read
parser = TextFileReader(filepath_or_buffer, **kwds)
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\parsers\readers.py:933: in __init__
self._engine = self._make_engine(f, self.engine)
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\parsers\readers.py:1217: in _make_engine
self.handles = get_handle( # type: ignore[call-overload]
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

path_or_buf = 'Orders_and_Payment_Flow_Certification.csv', mode = 'r'

@doc(compression_options=_shared_docs["compression_options"] % "path_or_buf")
def get_handle(
path_or_buf: FilePath | BaseBuffer,
mode: str,
*,
encoding: str | None = None,
compression: CompressionOptions = None,
memory_map: bool = False,
is_text: bool = True,
errors: str | None = None,
storage_options: StorageOptions = None,
) -> IOHandles[str] | IOHandles[bytes]:
"""
Get file handle for given path/buffer and mode.

Parameters
----------
path_or_buf : str or file handle
File path or object.
mode : str
Mode to open path_or_buf with.
encoding : str or None
Encoding to use.
{compression_options}

.. versionchanged:: 1.0.0
May now be a dict with key 'method' as compression mode
and other keys as compression options if compression
mode is 'zip'.

.. versionchanged:: 1.1.0
Passing compression options as keys in dict is now
supported for compression modes 'gzip', 'bz2', 'zstd' and 'zip'.

.. versionchanged:: 1.4.0 Zstandard support.

memory_map : bool, default False
See parsers._parser_params for more information.
is_text : bool, default True
Whether the type of the content passed to the file/buffer is string or
bytes. This is not the same as `"b" not in mode`. If a string content is
passed to a binary file/buffer, a wrapper is inserted.
errors : str, default 'strict'
Specifies how encoding and decoding errors are to be handled.
See the errors argument for :func:`open` for a full list
of options.
storage_options: StorageOptions = None
Passed to _get_filepath_or_buffer

.. versionchanged:: 1.2.0

Returns the dataclass IOHandles
"""
# Windows does not default to utf-8. Set to utf-8 for a consistent behavior
encoding = encoding or "utf-8"

# read_csv does not know whether the buffer is opened in binary/text mode
if _is_binary_mode(path_or_buf, mode) and "b" not in mode:
mode += "b"

# validate encoding and errors
codecs.lookup(encoding)
if isinstance(errors, str):
codecs.lookup_error(errors)

# open URLs
ioargs = _get_filepath_or_buffer(
path_or_buf,
encoding=encoding,
compression=compression,
mode=mode,
storage_options=storage_options,
)

handle = ioargs.filepath_or_buffer
handles: list[BaseBuffer]

# memory mapping needs to be the first step
handle, memory_map, handles = _maybe_memory_map(
handle,
memory_map,
ioargs.encoding,
ioargs.mode,
errors,
ioargs.compression["method"] not in _compression_to_extension,
)

is_path = isinstance(handle, str)
compression_args = dict(ioargs.compression)
compression = compression_args.pop("method")

# Only for write methods
if "r" not in mode and is_path:
check_parent_directory(str(handle))

if compression:
if compression != "zstd":
# compression libraries do not like an explicit text-mode
ioargs.mode = ioargs.mode.replace("t", "")
elif compression == "zstd" and "b" not in ioargs.mode:
# python-zstandard defaults to text mode, but we always expect
# compression libraries to use binary mode.
ioargs.mode += "b"

# GZ Compression
if compression == "gzip":
if is_path:
assert isinstance(handle, str)
# error: Incompatible types in assignment (expression has type
# "GzipFile", variable has type "Union[str, BaseBuffer]")
handle = gzip.GzipFile( # type: ignore[assignment]
filename=handle,
mode=ioargs.mode,
**compression_args,
)
else:
handle = gzip.GzipFile(
# No overload variant of "GzipFile" matches argument types
# "Union[str, BaseBuffer]", "str", "Dict[str, Any]"
fileobj=handle, # type: ignore[call-overload]
mode=ioargs.mode,
**compression_args,
)

# BZ Compression
elif compression == "bz2":
# No overload variant of "BZ2File" matches argument types
# "Union[str, BaseBuffer]", "str", "Dict[str, Any]"
handle = bz2.BZ2File( # type: ignore[call-overload]
handle,
mode=ioargs.mode,
**compression_args,
)

# ZIP Compression
elif compression == "zip":
# error: Argument 1 to "_BytesZipFile" has incompatible type "Union[str,
# BaseBuffer]"; expected "Union[Union[str, PathLike[str]],
# ReadBuffer[bytes], WriteBuffer[bytes]]"
handle = _BytesZipFile(
handle, ioargs.mode, **compression_args # type: ignore[arg-type]
)
if handle.mode == "r":
handles.append(handle)
zip_names = handle.namelist()
if len(zip_names) == 1:
handle = handle.open(zip_names.pop())
elif len(zip_names) == 0:
raise ValueError(f"Zero files found in ZIP file {path_or_buf}")
else:
raise ValueError(
"Multiple files found in ZIP file. "
f"Only one file per ZIP: {zip_names}"
)

# XZ Compression
elif compression == "xz":
handle = get_lzma_file()(handle, ioargs.mode)

# Zstd Compression
elif compression == "zstd":
zstd = import_optional_dependency("zstandard")
if "r" in ioargs.mode:
open_args = {"dctx": zstd.ZstdDecompressor(**compression_args)}
else:
open_args = {"cctx": zstd.ZstdCompressor(**compression_args)}
handle = zstd.open(
handle,
mode=ioargs.mode,
**open_args,
)

# Unrecognized Compression
else:
msg = f"Unrecognized compression type: {compression}"
raise ValueError(msg)

assert not isinstance(handle, str)
handles.append(handle)

elif isinstance(handle, str):
# Check whether the filename is to be opened in binary mode.
# Binary mode does not support 'encoding' and 'newline'.
if ioargs.encoding and "b" not in ioargs.mode:
# Encoding
> handle = open(
handle,
ioargs.mode,
encoding=ioargs.encoding,
errors=errors,
newline="",
)
E FileNotFoundError: [Errno 2] No such file or directory: 'Orders_and_Payment_Flow_Certification.csv'

c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\common.py:789: FileNotFoundError
-------------------------------Captured log call--------------------------------
INFO  setup:test_orders_and_payment_flow.py:46 Total URL Present is: 5
Failed test_orders_and_payment_flow.py::TestOrderAndPaymentFlowCertificationProgram::test_Orders_and_Payment_Flow_certification[B] 0.00
self = <test_orders_and_payment_flow.TestOrderAndPaymentFlowCertificationProgram object at 0x0000020BE0DD2D00>, value = 'B', initialize_pages = None
testdata = {'contact_no': '123456789', 'country': ['in', 'us', 'gb', 'au', 'de', 'sg', ...], 'db_type': 'mysql', 'dynamo_db_type': 'dynamo', ...}

@pytest.mark.test_details("0000","high","Order and Payment Flow","Pradeep")
@pytest.mark.parametrize("value", certification_program_course_read_csv())
def test_Orders_and_Payment_Flow_certification(self,value,initialize_pages,testdata):

'''
Objective: Make payment and validate the data in Dynamo db and mySql

Step 01: get url
Step 02: click on Enroll Now CTA
Step 03: Make payment
Step 04: Validate the Dynamo db and MySql daya for the payment
'''
self.add_rows_in_csv('Report.csv')
url_count = self._count_url_txt_file_subdomain('Orders_and_Payment_Flow_Certification.txt')
logging.info(f"Total URL Present is: {url_count}")

# Step 01: get url
counter = 0
> df = pd.read_csv('Orders_and_Payment_Flow_Certification.csv', on_bad_lines='skip')

test_prod\test_orders_and_payment_flow.py:50:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\util\_decorators.py:311: in wrapper
return func(*args, **kwargs)
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\parsers\readers.py:680: in read_csv
return _read(filepath_or_buffer, kwds)
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\parsers\readers.py:575: in _read
parser = TextFileReader(filepath_or_buffer, **kwds)
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\parsers\readers.py:933: in __init__
self._engine = self._make_engine(f, self.engine)
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\parsers\readers.py:1217: in _make_engine
self.handles = get_handle( # type: ignore[call-overload]
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

path_or_buf = 'Orders_and_Payment_Flow_Certification.csv', mode = 'r'

@doc(compression_options=_shared_docs["compression_options"] % "path_or_buf")
def get_handle(
path_or_buf: FilePath | BaseBuffer,
mode: str,
*,
encoding: str | None = None,
compression: CompressionOptions = None,
memory_map: bool = False,
is_text: bool = True,
errors: str | None = None,
storage_options: StorageOptions = None,
) -> IOHandles[str] | IOHandles[bytes]:
"""
Get file handle for given path/buffer and mode.

Parameters
----------
path_or_buf : str or file handle
File path or object.
mode : str
Mode to open path_or_buf with.
encoding : str or None
Encoding to use.
{compression_options}

.. versionchanged:: 1.0.0
May now be a dict with key 'method' as compression mode
and other keys as compression options if compression
mode is 'zip'.

.. versionchanged:: 1.1.0
Passing compression options as keys in dict is now
supported for compression modes 'gzip', 'bz2', 'zstd' and 'zip'.

.. versionchanged:: 1.4.0 Zstandard support.

memory_map : bool, default False
See parsers._parser_params for more information.
is_text : bool, default True
Whether the type of the content passed to the file/buffer is string or
bytes. This is not the same as `"b" not in mode`. If a string content is
passed to a binary file/buffer, a wrapper is inserted.
errors : str, default 'strict'
Specifies how encoding and decoding errors are to be handled.
See the errors argument for :func:`open` for a full list
of options.
storage_options: StorageOptions = None
Passed to _get_filepath_or_buffer

.. versionchanged:: 1.2.0

Returns the dataclass IOHandles
"""
# Windows does not default to utf-8. Set to utf-8 for a consistent behavior
encoding = encoding or "utf-8"

# read_csv does not know whether the buffer is opened in binary/text mode
if _is_binary_mode(path_or_buf, mode) and "b" not in mode:
mode += "b"

# validate encoding and errors
codecs.lookup(encoding)
if isinstance(errors, str):
codecs.lookup_error(errors)

# open URLs
ioargs = _get_filepath_or_buffer(
path_or_buf,
encoding=encoding,
compression=compression,
mode=mode,
storage_options=storage_options,
)

handle = ioargs.filepath_or_buffer
handles: list[BaseBuffer]

# memory mapping needs to be the first step
handle, memory_map, handles = _maybe_memory_map(
handle,
memory_map,
ioargs.encoding,
ioargs.mode,
errors,
ioargs.compression["method"] not in _compression_to_extension,
)

is_path = isinstance(handle, str)
compression_args = dict(ioargs.compression)
compression = compression_args.pop("method")

# Only for write methods
if "r" not in mode and is_path:
check_parent_directory(str(handle))

if compression:
if compression != "zstd":
# compression libraries do not like an explicit text-mode
ioargs.mode = ioargs.mode.replace("t", "")
elif compression == "zstd" and "b" not in ioargs.mode:
# python-zstandard defaults to text mode, but we always expect
# compression libraries to use binary mode.
ioargs.mode += "b"

# GZ Compression
if compression == "gzip":
if is_path:
assert isinstance(handle, str)
# error: Incompatible types in assignment (expression has type
# "GzipFile", variable has type "Union[str, BaseBuffer]")
handle = gzip.GzipFile( # type: ignore[assignment]
filename=handle,
mode=ioargs.mode,
**compression_args,
)
else:
handle = gzip.GzipFile(
# No overload variant of "GzipFile" matches argument types
# "Union[str, BaseBuffer]", "str", "Dict[str, Any]"
fileobj=handle, # type: ignore[call-overload]
mode=ioargs.mode,
**compression_args,
)

# BZ Compression
elif compression == "bz2":
# No overload variant of "BZ2File" matches argument types
# "Union[str, BaseBuffer]", "str", "Dict[str, Any]"
handle = bz2.BZ2File( # type: ignore[call-overload]
handle,
mode=ioargs.mode,
**compression_args,
)

# ZIP Compression
elif compression == "zip":
# error: Argument 1 to "_BytesZipFile" has incompatible type "Union[str,
# BaseBuffer]"; expected "Union[Union[str, PathLike[str]],
# ReadBuffer[bytes], WriteBuffer[bytes]]"
handle = _BytesZipFile(
handle, ioargs.mode, **compression_args # type: ignore[arg-type]
)
if handle.mode == "r":
handles.append(handle)
zip_names = handle.namelist()
if len(zip_names) == 1:
handle = handle.open(zip_names.pop())
elif len(zip_names) == 0:
raise ValueError(f"Zero files found in ZIP file {path_or_buf}")
else:
raise ValueError(
"Multiple files found in ZIP file. "
f"Only one file per ZIP: {zip_names}"
)

# XZ Compression
elif compression == "xz":
handle = get_lzma_file()(handle, ioargs.mode)

# Zstd Compression
elif compression == "zstd":
zstd = import_optional_dependency("zstandard")
if "r" in ioargs.mode:
open_args = {"dctx": zstd.ZstdDecompressor(**compression_args)}
else:
open_args = {"cctx": zstd.ZstdCompressor(**compression_args)}
handle = zstd.open(
handle,
mode=ioargs.mode,
**open_args,
)

# Unrecognized Compression
else:
msg = f"Unrecognized compression type: {compression}"
raise ValueError(msg)

assert not isinstance(handle, str)
handles.append(handle)

elif isinstance(handle, str):
# Check whether the filename is to be opened in binary mode.
# Binary mode does not support 'encoding' and 'newline'.
if ioargs.encoding and "b" not in ioargs.mode:
# Encoding
> handle = open(
handle,
ioargs.mode,
encoding=ioargs.encoding,
errors=errors,
newline="",
)
E FileNotFoundError: [Errno 2] No such file or directory: 'Orders_and_Payment_Flow_Certification.csv'

c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\common.py:789: FileNotFoundError
-------------------------------Captured log call--------------------------------
INFO  setup:test_orders_and_payment_flow.py:46 Total URL Present is: 5
Failed test_orders_and_payment_flow.py::TestOrderAndPaymentFlowCertificationProgram::test_Orders_and_Payment_Flow_certification[C] 0.00
self = <test_orders_and_payment_flow.TestOrderAndPaymentFlowCertificationProgram object at 0x0000020BE0B6C460>, value = 'C', initialize_pages = None
testdata = {'contact_no': '123456789', 'country': ['in', 'us', 'gb', 'au', 'de', 'sg', ...], 'db_type': 'mysql', 'dynamo_db_type': 'dynamo', ...}

@pytest.mark.test_details("0000","high","Order and Payment Flow","Pradeep")
@pytest.mark.parametrize("value", certification_program_course_read_csv())
def test_Orders_and_Payment_Flow_certification(self,value,initialize_pages,testdata):

'''
Objective: Make payment and validate the data in Dynamo db and mySql

Step 01: get url
Step 02: click on Enroll Now CTA
Step 03: Make payment
Step 04: Validate the Dynamo db and MySql daya for the payment
'''
self.add_rows_in_csv('Report.csv')
url_count = self._count_url_txt_file_subdomain('Orders_and_Payment_Flow_Certification.txt')
logging.info(f"Total URL Present is: {url_count}")

# Step 01: get url
counter = 0
> df = pd.read_csv('Orders_and_Payment_Flow_Certification.csv', on_bad_lines='skip')

test_prod\test_orders_and_payment_flow.py:50:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\util\_decorators.py:311: in wrapper
return func(*args, **kwargs)
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\parsers\readers.py:680: in read_csv
return _read(filepath_or_buffer, kwds)
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\parsers\readers.py:575: in _read
parser = TextFileReader(filepath_or_buffer, **kwds)
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\parsers\readers.py:933: in __init__
self._engine = self._make_engine(f, self.engine)
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\parsers\readers.py:1217: in _make_engine
self.handles = get_handle( # type: ignore[call-overload]
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

path_or_buf = 'Orders_and_Payment_Flow_Certification.csv', mode = 'r'

@doc(compression_options=_shared_docs["compression_options"] % "path_or_buf")
def get_handle(
path_or_buf: FilePath | BaseBuffer,
mode: str,
*,
encoding: str | None = None,
compression: CompressionOptions = None,
memory_map: bool = False,
is_text: bool = True,
errors: str | None = None,
storage_options: StorageOptions = None,
) -> IOHandles[str] | IOHandles[bytes]:
"""
Get file handle for given path/buffer and mode.

Parameters
----------
path_or_buf : str or file handle
File path or object.
mode : str
Mode to open path_or_buf with.
encoding : str or None
Encoding to use.
{compression_options}

.. versionchanged:: 1.0.0
May now be a dict with key 'method' as compression mode
and other keys as compression options if compression
mode is 'zip'.

.. versionchanged:: 1.1.0
Passing compression options as keys in dict is now
supported for compression modes 'gzip', 'bz2', 'zstd' and 'zip'.

.. versionchanged:: 1.4.0 Zstandard support.

memory_map : bool, default False
See parsers._parser_params for more information.
is_text : bool, default True
Whether the type of the content passed to the file/buffer is string or
bytes. This is not the same as `"b" not in mode`. If a string content is
passed to a binary file/buffer, a wrapper is inserted.
errors : str, default 'strict'
Specifies how encoding and decoding errors are to be handled.
See the errors argument for :func:`open` for a full list
of options.
storage_options: StorageOptions = None
Passed to _get_filepath_or_buffer

.. versionchanged:: 1.2.0

Returns the dataclass IOHandles
"""
# Windows does not default to utf-8. Set to utf-8 for a consistent behavior
encoding = encoding or "utf-8"

# read_csv does not know whether the buffer is opened in binary/text mode
if _is_binary_mode(path_or_buf, mode) and "b" not in mode:
mode += "b"

# validate encoding and errors
codecs.lookup(encoding)
if isinstance(errors, str):
codecs.lookup_error(errors)

# open URLs
ioargs = _get_filepath_or_buffer(
path_or_buf,
encoding=encoding,
compression=compression,
mode=mode,
storage_options=storage_options,
)

handle = ioargs.filepath_or_buffer
handles: list[BaseBuffer]

# memory mapping needs to be the first step
handle, memory_map, handles = _maybe_memory_map(
handle,
memory_map,
ioargs.encoding,
ioargs.mode,
errors,
ioargs.compression["method"] not in _compression_to_extension,
)

is_path = isinstance(handle, str)
compression_args = dict(ioargs.compression)
compression = compression_args.pop("method")

# Only for write methods
if "r" not in mode and is_path:
check_parent_directory(str(handle))

if compression:
if compression != "zstd":
# compression libraries do not like an explicit text-mode
ioargs.mode = ioargs.mode.replace("t", "")
elif compression == "zstd" and "b" not in ioargs.mode:
# python-zstandard defaults to text mode, but we always expect
# compression libraries to use binary mode.
ioargs.mode += "b"

# GZ Compression
if compression == "gzip":
if is_path:
assert isinstance(handle, str)
# error: Incompatible types in assignment (expression has type
# "GzipFile", variable has type "Union[str, BaseBuffer]")
handle = gzip.GzipFile( # type: ignore[assignment]
filename=handle,
mode=ioargs.mode,
**compression_args,
)
else:
handle = gzip.GzipFile(
# No overload variant of "GzipFile" matches argument types
# "Union[str, BaseBuffer]", "str", "Dict[str, Any]"
fileobj=handle, # type: ignore[call-overload]
mode=ioargs.mode,
**compression_args,
)

# BZ Compression
elif compression == "bz2":
# No overload variant of "BZ2File" matches argument types
# "Union[str, BaseBuffer]", "str", "Dict[str, Any]"
handle = bz2.BZ2File( # type: ignore[call-overload]
handle,
mode=ioargs.mode,
**compression_args,
)

# ZIP Compression
elif compression == "zip":
# error: Argument 1 to "_BytesZipFile" has incompatible type "Union[str,
# BaseBuffer]"; expected "Union[Union[str, PathLike[str]],
# ReadBuffer[bytes], WriteBuffer[bytes]]"
handle = _BytesZipFile(
handle, ioargs.mode, **compression_args # type: ignore[arg-type]
)
if handle.mode == "r":
handles.append(handle)
zip_names = handle.namelist()
if len(zip_names) == 1:
handle = handle.open(zip_names.pop())
elif len(zip_names) == 0:
raise ValueError(f"Zero files found in ZIP file {path_or_buf}")
else:
raise ValueError(
"Multiple files found in ZIP file. "
f"Only one file per ZIP: {zip_names}"
)

# XZ Compression
elif compression == "xz":
handle = get_lzma_file()(handle, ioargs.mode)

# Zstd Compression
elif compression == "zstd":
zstd = import_optional_dependency("zstandard")
if "r" in ioargs.mode:
open_args = {"dctx": zstd.ZstdDecompressor(**compression_args)}
else:
open_args = {"cctx": zstd.ZstdCompressor(**compression_args)}
handle = zstd.open(
handle,
mode=ioargs.mode,
**open_args,
)

# Unrecognized Compression
else:
msg = f"Unrecognized compression type: {compression}"
raise ValueError(msg)

assert not isinstance(handle, str)
handles.append(handle)

elif isinstance(handle, str):
# Check whether the filename is to be opened in binary mode.
# Binary mode does not support 'encoding' and 'newline'.
if ioargs.encoding and "b" not in ioargs.mode:
# Encoding
> handle = open(
handle,
ioargs.mode,
encoding=ioargs.encoding,
errors=errors,
newline="",
)
E FileNotFoundError: [Errno 2] No such file or directory: 'Orders_and_Payment_Flow_Certification.csv'

c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\common.py:789: FileNotFoundError
-------------------------------Captured log call--------------------------------
INFO  setup:test_orders_and_payment_flow.py:46 Total URL Present is: 5
Failed test_orders_and_payment_flow.py::TestOrderAndPaymentFlowCertificationProgram::test_Orders_and_Payment_Flow_certification[D] 0.00
self = <test_orders_and_payment_flow.TestOrderAndPaymentFlowCertificationProgram object at 0x0000020BE0DBD550>, value = 'D', initialize_pages = None
testdata = {'contact_no': '123456789', 'country': ['in', 'us', 'gb', 'au', 'de', 'sg', ...], 'db_type': 'mysql', 'dynamo_db_type': 'dynamo', ...}

@pytest.mark.test_details("0000","high","Order and Payment Flow","Pradeep")
@pytest.mark.parametrize("value", certification_program_course_read_csv())
def test_Orders_and_Payment_Flow_certification(self,value,initialize_pages,testdata):

'''
Objective: Make payment and validate the data in Dynamo db and mySql

Step 01: get url
Step 02: click on Enroll Now CTA
Step 03: Make payment
Step 04: Validate the Dynamo db and MySql daya for the payment
'''
self.add_rows_in_csv('Report.csv')
url_count = self._count_url_txt_file_subdomain('Orders_and_Payment_Flow_Certification.txt')
logging.info(f"Total URL Present is: {url_count}")

# Step 01: get url
counter = 0
> df = pd.read_csv('Orders_and_Payment_Flow_Certification.csv', on_bad_lines='skip')

test_prod\test_orders_and_payment_flow.py:50:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\util\_decorators.py:311: in wrapper
return func(*args, **kwargs)
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\parsers\readers.py:680: in read_csv
return _read(filepath_or_buffer, kwds)
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\parsers\readers.py:575: in _read
parser = TextFileReader(filepath_or_buffer, **kwds)
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\parsers\readers.py:933: in __init__
self._engine = self._make_engine(f, self.engine)
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\parsers\readers.py:1217: in _make_engine
self.handles = get_handle( # type: ignore[call-overload]
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

path_or_buf = 'Orders_and_Payment_Flow_Certification.csv', mode = 'r'

@doc(compression_options=_shared_docs["compression_options"] % "path_or_buf")
def get_handle(
path_or_buf: FilePath | BaseBuffer,
mode: str,
*,
encoding: str | None = None,
compression: CompressionOptions = None,
memory_map: bool = False,
is_text: bool = True,
errors: str | None = None,
storage_options: StorageOptions = None,
) -> IOHandles[str] | IOHandles[bytes]:
"""
Get file handle for given path/buffer and mode.

Parameters
----------
path_or_buf : str or file handle
File path or object.
mode : str
Mode to open path_or_buf with.
encoding : str or None
Encoding to use.
{compression_options}

.. versionchanged:: 1.0.0
May now be a dict with key 'method' as compression mode
and other keys as compression options if compression
mode is 'zip'.

.. versionchanged:: 1.1.0
Passing compression options as keys in dict is now
supported for compression modes 'gzip', 'bz2', 'zstd' and 'zip'.

.. versionchanged:: 1.4.0 Zstandard support.

memory_map : bool, default False
See parsers._parser_params for more information.
is_text : bool, default True
Whether the type of the content passed to the file/buffer is string or
bytes. This is not the same as `"b" not in mode`. If a string content is
passed to a binary file/buffer, a wrapper is inserted.
errors : str, default 'strict'
Specifies how encoding and decoding errors are to be handled.
See the errors argument for :func:`open` for a full list
of options.
storage_options: StorageOptions = None
Passed to _get_filepath_or_buffer

.. versionchanged:: 1.2.0

Returns the dataclass IOHandles
"""
# Windows does not default to utf-8. Set to utf-8 for a consistent behavior
encoding = encoding or "utf-8"

# read_csv does not know whether the buffer is opened in binary/text mode
if _is_binary_mode(path_or_buf, mode) and "b" not in mode:
mode += "b"

# validate encoding and errors
codecs.lookup(encoding)
if isinstance(errors, str):
codecs.lookup_error(errors)

# open URLs
ioargs = _get_filepath_or_buffer(
path_or_buf,
encoding=encoding,
compression=compression,
mode=mode,
storage_options=storage_options,
)

handle = ioargs.filepath_or_buffer
handles: list[BaseBuffer]

# memory mapping needs to be the first step
handle, memory_map, handles = _maybe_memory_map(
handle,
memory_map,
ioargs.encoding,
ioargs.mode,
errors,
ioargs.compression["method"] not in _compression_to_extension,
)

is_path = isinstance(handle, str)
compression_args = dict(ioargs.compression)
compression = compression_args.pop("method")

# Only for write methods
if "r" not in mode and is_path:
check_parent_directory(str(handle))

if compression:
if compression != "zstd":
# compression libraries do not like an explicit text-mode
ioargs.mode = ioargs.mode.replace("t", "")
elif compression == "zstd" and "b" not in ioargs.mode:
# python-zstandard defaults to text mode, but we always expect
# compression libraries to use binary mode.
ioargs.mode += "b"

# GZ Compression
if compression == "gzip":
if is_path:
assert isinstance(handle, str)
# error: Incompatible types in assignment (expression has type
# "GzipFile", variable has type "Union[str, BaseBuffer]")
handle = gzip.GzipFile( # type: ignore[assignment]
filename=handle,
mode=ioargs.mode,
**compression_args,
)
else:
handle = gzip.GzipFile(
# No overload variant of "GzipFile" matches argument types
# "Union[str, BaseBuffer]", "str", "Dict[str, Any]"
fileobj=handle, # type: ignore[call-overload]
mode=ioargs.mode,
**compression_args,
)

# BZ Compression
elif compression == "bz2":
# No overload variant of "BZ2File" matches argument types
# "Union[str, BaseBuffer]", "str", "Dict[str, Any]"
handle = bz2.BZ2File( # type: ignore[call-overload]
handle,
mode=ioargs.mode,
**compression_args,
)

# ZIP Compression
elif compression == "zip":
# error: Argument 1 to "_BytesZipFile" has incompatible type "Union[str,
# BaseBuffer]"; expected "Union[Union[str, PathLike[str]],
# ReadBuffer[bytes], WriteBuffer[bytes]]"
handle = _BytesZipFile(
handle, ioargs.mode, **compression_args # type: ignore[arg-type]
)
if handle.mode == "r":
handles.append(handle)
zip_names = handle.namelist()
if len(zip_names) == 1:
handle = handle.open(zip_names.pop())
elif len(zip_names) == 0:
raise ValueError(f"Zero files found in ZIP file {path_or_buf}")
else:
raise ValueError(
"Multiple files found in ZIP file. "
f"Only one file per ZIP: {zip_names}"
)

# XZ Compression
elif compression == "xz":
handle = get_lzma_file()(handle, ioargs.mode)

# Zstd Compression
elif compression == "zstd":
zstd = import_optional_dependency("zstandard")
if "r" in ioargs.mode:
open_args = {"dctx": zstd.ZstdDecompressor(**compression_args)}
else:
open_args = {"cctx": zstd.ZstdCompressor(**compression_args)}
handle = zstd.open(
handle,
mode=ioargs.mode,
**open_args,
)

# Unrecognized Compression
else:
msg = f"Unrecognized compression type: {compression}"
raise ValueError(msg)

assert not isinstance(handle, str)
handles.append(handle)

elif isinstance(handle, str):
# Check whether the filename is to be opened in binary mode.
# Binary mode does not support 'encoding' and 'newline'.
if ioargs.encoding and "b" not in ioargs.mode:
# Encoding
> handle = open(
handle,
ioargs.mode,
encoding=ioargs.encoding,
errors=errors,
newline="",
)
E FileNotFoundError: [Errno 2] No such file or directory: 'Orders_and_Payment_Flow_Certification.csv'

c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\common.py:789: FileNotFoundError
-------------------------------Captured log call--------------------------------
INFO  setup:test_orders_and_payment_flow.py:46 Total URL Present is: 5
Failed test_orders_and_payment_flow.py::TestOrderAndPaymentFlowCertificationProgram::test_Orders_and_Payment_Flow_certification[E] 0.00
self = <test_orders_and_payment_flow.TestOrderAndPaymentFlowCertificationProgram object at 0x0000020BE0DBED90>, value = 'E', initialize_pages = None
testdata = {'contact_no': '123456789', 'country': ['in', 'us', 'gb', 'au', 'de', 'sg', ...], 'db_type': 'mysql', 'dynamo_db_type': 'dynamo', ...}

@pytest.mark.test_details("0000","high","Order and Payment Flow","Pradeep")
@pytest.mark.parametrize("value", certification_program_course_read_csv())
def test_Orders_and_Payment_Flow_certification(self,value,initialize_pages,testdata):

'''
Objective: Make payment and validate the data in Dynamo db and mySql

Step 01: get url
Step 02: click on Enroll Now CTA
Step 03: Make payment
Step 04: Validate the Dynamo db and MySql daya for the payment
'''
self.add_rows_in_csv('Report.csv')
url_count = self._count_url_txt_file_subdomain('Orders_and_Payment_Flow_Certification.txt')
logging.info(f"Total URL Present is: {url_count}")

# Step 01: get url
counter = 0
> df = pd.read_csv('Orders_and_Payment_Flow_Certification.csv', on_bad_lines='skip')

test_prod\test_orders_and_payment_flow.py:50:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\util\_decorators.py:311: in wrapper
return func(*args, **kwargs)
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\parsers\readers.py:680: in read_csv
return _read(filepath_or_buffer, kwds)
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\parsers\readers.py:575: in _read
parser = TextFileReader(filepath_or_buffer, **kwds)
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\parsers\readers.py:933: in __init__
self._engine = self._make_engine(f, self.engine)
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\parsers\readers.py:1217: in _make_engine
self.handles = get_handle( # type: ignore[call-overload]
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

path_or_buf = 'Orders_and_Payment_Flow_Certification.csv', mode = 'r'

@doc(compression_options=_shared_docs["compression_options"] % "path_or_buf")
def get_handle(
path_or_buf: FilePath | BaseBuffer,
mode: str,
*,
encoding: str | None = None,
compression: CompressionOptions = None,
memory_map: bool = False,
is_text: bool = True,
errors: str | None = None,
storage_options: StorageOptions = None,
) -> IOHandles[str] | IOHandles[bytes]:
"""
Get file handle for given path/buffer and mode.

Parameters
----------
path_or_buf : str or file handle
File path or object.
mode : str
Mode to open path_or_buf with.
encoding : str or None
Encoding to use.
{compression_options}

.. versionchanged:: 1.0.0
May now be a dict with key 'method' as compression mode
and other keys as compression options if compression
mode is 'zip'.

.. versionchanged:: 1.1.0
Passing compression options as keys in dict is now
supported for compression modes 'gzip', 'bz2', 'zstd' and 'zip'.

.. versionchanged:: 1.4.0 Zstandard support.

memory_map : bool, default False
See parsers._parser_params for more information.
is_text : bool, default True
Whether the type of the content passed to the file/buffer is string or
bytes. This is not the same as `"b" not in mode`. If a string content is
passed to a binary file/buffer, a wrapper is inserted.
errors : str, default 'strict'
Specifies how encoding and decoding errors are to be handled.
See the errors argument for :func:`open` for a full list
of options.
storage_options: StorageOptions = None
Passed to _get_filepath_or_buffer

.. versionchanged:: 1.2.0

Returns the dataclass IOHandles
"""
# Windows does not default to utf-8. Set to utf-8 for a consistent behavior
encoding = encoding or "utf-8"

# read_csv does not know whether the buffer is opened in binary/text mode
if _is_binary_mode(path_or_buf, mode) and "b" not in mode:
mode += "b"

# validate encoding and errors
codecs.lookup(encoding)
if isinstance(errors, str):
codecs.lookup_error(errors)

# open URLs
ioargs = _get_filepath_or_buffer(
path_or_buf,
encoding=encoding,
compression=compression,
mode=mode,
storage_options=storage_options,
)

handle = ioargs.filepath_or_buffer
handles: list[BaseBuffer]

# memory mapping needs to be the first step
handle, memory_map, handles = _maybe_memory_map(
handle,
memory_map,
ioargs.encoding,
ioargs.mode,
errors,
ioargs.compression["method"] not in _compression_to_extension,
)

is_path = isinstance(handle, str)
compression_args = dict(ioargs.compression)
compression = compression_args.pop("method")

# Only for write methods
if "r" not in mode and is_path:
check_parent_directory(str(handle))

if compression:
if compression != "zstd":
# compression libraries do not like an explicit text-mode
ioargs.mode = ioargs.mode.replace("t", "")
elif compression == "zstd" and "b" not in ioargs.mode:
# python-zstandard defaults to text mode, but we always expect
# compression libraries to use binary mode.
ioargs.mode += "b"

# GZ Compression
if compression == "gzip":
if is_path:
assert isinstance(handle, str)
# error: Incompatible types in assignment (expression has type
# "GzipFile", variable has type "Union[str, BaseBuffer]")
handle = gzip.GzipFile( # type: ignore[assignment]
filename=handle,
mode=ioargs.mode,
**compression_args,
)
else:
handle = gzip.GzipFile(
# No overload variant of "GzipFile" matches argument types
# "Union[str, BaseBuffer]", "str", "Dict[str, Any]"
fileobj=handle, # type: ignore[call-overload]
mode=ioargs.mode,
**compression_args,
)

# BZ Compression
elif compression == "bz2":
# No overload variant of "BZ2File" matches argument types
# "Union[str, BaseBuffer]", "str", "Dict[str, Any]"
handle = bz2.BZ2File( # type: ignore[call-overload]
handle,
mode=ioargs.mode,
**compression_args,
)

# ZIP Compression
elif compression == "zip":
# error: Argument 1 to "_BytesZipFile" has incompatible type "Union[str,
# BaseBuffer]"; expected "Union[Union[str, PathLike[str]],
# ReadBuffer[bytes], WriteBuffer[bytes]]"
handle = _BytesZipFile(
handle, ioargs.mode, **compression_args # type: ignore[arg-type]
)
if handle.mode == "r":
handles.append(handle)
zip_names = handle.namelist()
if len(zip_names) == 1:
handle = handle.open(zip_names.pop())
elif len(zip_names) == 0:
raise ValueError(f"Zero files found in ZIP file {path_or_buf}")
else:
raise ValueError(
"Multiple files found in ZIP file. "
f"Only one file per ZIP: {zip_names}"
)

# XZ Compression
elif compression == "xz":
handle = get_lzma_file()(handle, ioargs.mode)

# Zstd Compression
elif compression == "zstd":
zstd = import_optional_dependency("zstandard")
if "r" in ioargs.mode:
open_args = {"dctx": zstd.ZstdDecompressor(**compression_args)}
else:
open_args = {"cctx": zstd.ZstdCompressor(**compression_args)}
handle = zstd.open(
handle,
mode=ioargs.mode,
**open_args,
)

# Unrecognized Compression
else:
msg = f"Unrecognized compression type: {compression}"
raise ValueError(msg)

assert not isinstance(handle, str)
handles.append(handle)

elif isinstance(handle, str):
# Check whether the filename is to be opened in binary mode.
# Binary mode does not support 'encoding' and 'newline'.
if ioargs.encoding and "b" not in ioargs.mode:
# Encoding
> handle = open(
handle,
ioargs.mode,
encoding=ioargs.encoding,
errors=errors,
newline="",
)
E FileNotFoundError: [Errno 2] No such file or directory: 'Orders_and_Payment_Flow_Certification.csv'

c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\common.py:789: FileNotFoundError
-------------------------------Captured log call--------------------------------
INFO  setup:test_orders_and_payment_flow.py:46 Total URL Present is: 5
Failed test_orders_and_payment_flow.py::TestOrderAndPaymentFlowCertificationProgram::test_Orders_and_Payment_Flow_certification[F] 0.00
self = <test_orders_and_payment_flow.TestOrderAndPaymentFlowCertificationProgram object at 0x0000020BE0BCF1C0>, value = 'F', initialize_pages = None
testdata = {'contact_no': '123456789', 'country': ['in', 'us', 'gb', 'au', 'de', 'sg', ...], 'db_type': 'mysql', 'dynamo_db_type': 'dynamo', ...}

@pytest.mark.test_details("0000","high","Order and Payment Flow","Pradeep")
@pytest.mark.parametrize("value", certification_program_course_read_csv())
def test_Orders_and_Payment_Flow_certification(self,value,initialize_pages,testdata):

'''
Objective: Make payment and validate the data in Dynamo db and mySql

Step 01: get url
Step 02: click on Enroll Now CTA
Step 03: Make payment
Step 04: Validate the Dynamo db and MySql daya for the payment
'''
self.add_rows_in_csv('Report.csv')
url_count = self._count_url_txt_file_subdomain('Orders_and_Payment_Flow_Certification.txt')
logging.info(f"Total URL Present is: {url_count}")

# Step 01: get url
counter = 0
> df = pd.read_csv('Orders_and_Payment_Flow_Certification.csv', on_bad_lines='skip')

test_prod\test_orders_and_payment_flow.py:50:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\util\_decorators.py:311: in wrapper
return func(*args, **kwargs)
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\parsers\readers.py:680: in read_csv
return _read(filepath_or_buffer, kwds)
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\parsers\readers.py:575: in _read
parser = TextFileReader(filepath_or_buffer, **kwds)
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\parsers\readers.py:933: in __init__
self._engine = self._make_engine(f, self.engine)
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\parsers\readers.py:1217: in _make_engine
self.handles = get_handle( # type: ignore[call-overload]
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

path_or_buf = 'Orders_and_Payment_Flow_Certification.csv', mode = 'r'

@doc(compression_options=_shared_docs["compression_options"] % "path_or_buf")
def get_handle(
path_or_buf: FilePath | BaseBuffer,
mode: str,
*,
encoding: str | None = None,
compression: CompressionOptions = None,
memory_map: bool = False,
is_text: bool = True,
errors: str | None = None,
storage_options: StorageOptions = None,
) -> IOHandles[str] | IOHandles[bytes]:
"""
Get file handle for given path/buffer and mode.

Parameters
----------
path_or_buf : str or file handle
File path or object.
mode : str
Mode to open path_or_buf with.
encoding : str or None
Encoding to use.
{compression_options}

.. versionchanged:: 1.0.0
May now be a dict with key 'method' as compression mode
and other keys as compression options if compression
mode is 'zip'.

.. versionchanged:: 1.1.0
Passing compression options as keys in dict is now
supported for compression modes 'gzip', 'bz2', 'zstd' and 'zip'.

.. versionchanged:: 1.4.0 Zstandard support.

memory_map : bool, default False
See parsers._parser_params for more information.
is_text : bool, default True
Whether the type of the content passed to the file/buffer is string or
bytes. This is not the same as `"b" not in mode`. If a string content is
passed to a binary file/buffer, a wrapper is inserted.
errors : str, default 'strict'
Specifies how encoding and decoding errors are to be handled.
See the errors argument for :func:`open` for a full list
of options.
storage_options: StorageOptions = None
Passed to _get_filepath_or_buffer

.. versionchanged:: 1.2.0

Returns the dataclass IOHandles
"""
# Windows does not default to utf-8. Set to utf-8 for a consistent behavior
encoding = encoding or "utf-8"

# read_csv does not know whether the buffer is opened in binary/text mode
if _is_binary_mode(path_or_buf, mode) and "b" not in mode:
mode += "b"

# validate encoding and errors
codecs.lookup(encoding)
if isinstance(errors, str):
codecs.lookup_error(errors)

# open URLs
ioargs = _get_filepath_or_buffer(
path_or_buf,
encoding=encoding,
compression=compression,
mode=mode,
storage_options=storage_options,
)

handle = ioargs.filepath_or_buffer
handles: list[BaseBuffer]

# memory mapping needs to be the first step
handle, memory_map, handles = _maybe_memory_map(
handle,
memory_map,
ioargs.encoding,
ioargs.mode,
errors,
ioargs.compression["method"] not in _compression_to_extension,
)

is_path = isinstance(handle, str)
compression_args = dict(ioargs.compression)
compression = compression_args.pop("method")

# Only for write methods
if "r" not in mode and is_path:
check_parent_directory(str(handle))

if compression:
if compression != "zstd":
# compression libraries do not like an explicit text-mode
ioargs.mode = ioargs.mode.replace("t", "")
elif compression == "zstd" and "b" not in ioargs.mode:
# python-zstandard defaults to text mode, but we always expect
# compression libraries to use binary mode.
ioargs.mode += "b"

# GZ Compression
if compression == "gzip":
if is_path:
assert isinstance(handle, str)
# error: Incompatible types in assignment (expression has type
# "GzipFile", variable has type "Union[str, BaseBuffer]")
handle = gzip.GzipFile( # type: ignore[assignment]
filename=handle,
mode=ioargs.mode,
**compression_args,
)
else:
handle = gzip.GzipFile(
# No overload variant of "GzipFile" matches argument types
# "Union[str, BaseBuffer]", "str", "Dict[str, Any]"
fileobj=handle, # type: ignore[call-overload]
mode=ioargs.mode,
**compression_args,
)

# BZ Compression
elif compression == "bz2":
# No overload variant of "BZ2File" matches argument types
# "Union[str, BaseBuffer]", "str", "Dict[str, Any]"
handle = bz2.BZ2File( # type: ignore[call-overload]
handle,
mode=ioargs.mode,
**compression_args,
)

# ZIP Compression
elif compression == "zip":
# error: Argument 1 to "_BytesZipFile" has incompatible type "Union[str,
# BaseBuffer]"; expected "Union[Union[str, PathLike[str]],
# ReadBuffer[bytes], WriteBuffer[bytes]]"
handle = _BytesZipFile(
handle, ioargs.mode, **compression_args # type: ignore[arg-type]
)
if handle.mode == "r":
handles.append(handle)
zip_names = handle.namelist()
if len(zip_names) == 1:
handle = handle.open(zip_names.pop())
elif len(zip_names) == 0:
raise ValueError(f"Zero files found in ZIP file {path_or_buf}")
else:
raise ValueError(
"Multiple files found in ZIP file. "
f"Only one file per ZIP: {zip_names}"
)

# XZ Compression
elif compression == "xz":
handle = get_lzma_file()(handle, ioargs.mode)

# Zstd Compression
elif compression == "zstd":
zstd = import_optional_dependency("zstandard")
if "r" in ioargs.mode:
open_args = {"dctx": zstd.ZstdDecompressor(**compression_args)}
else:
open_args = {"cctx": zstd.ZstdCompressor(**compression_args)}
handle = zstd.open(
handle,
mode=ioargs.mode,
**open_args,
)

# Unrecognized Compression
else:
msg = f"Unrecognized compression type: {compression}"
raise ValueError(msg)

assert not isinstance(handle, str)
handles.append(handle)

elif isinstance(handle, str):
# Check whether the filename is to be opened in binary mode.
# Binary mode does not support 'encoding' and 'newline'.
if ioargs.encoding and "b" not in ioargs.mode:
# Encoding
> handle = open(
handle,
ioargs.mode,
encoding=ioargs.encoding,
errors=errors,
newline="",
)
E FileNotFoundError: [Errno 2] No such file or directory: 'Orders_and_Payment_Flow_Certification.csv'

c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\common.py:789: FileNotFoundError
-------------------------------Captured log call--------------------------------
INFO  setup:test_orders_and_payment_flow.py:46 Total URL Present is: 5
Failed test_orders_and_payment_flow.py::TestOrderAndPaymentFlowCertificationProgram::test_Orders_and_Payment_Flow_certification[G] 0.00
self = <test_orders_and_payment_flow.TestOrderAndPaymentFlowCertificationProgram object at 0x0000020BE0FAF1C0>, value = 'G', initialize_pages = None
testdata = {'contact_no': '123456789', 'country': ['in', 'us', 'gb', 'au', 'de', 'sg', ...], 'db_type': 'mysql', 'dynamo_db_type': 'dynamo', ...}

@pytest.mark.test_details("0000","high","Order and Payment Flow","Pradeep")
@pytest.mark.parametrize("value", certification_program_course_read_csv())
def test_Orders_and_Payment_Flow_certification(self,value,initialize_pages,testdata):

'''
Objective: Make payment and validate the data in Dynamo db and mySql

Step 01: get url
Step 02: click on Enroll Now CTA
Step 03: Make payment
Step 04: Validate the Dynamo db and MySql daya for the payment
'''
self.add_rows_in_csv('Report.csv')
url_count = self._count_url_txt_file_subdomain('Orders_and_Payment_Flow_Certification.txt')
logging.info(f"Total URL Present is: {url_count}")

# Step 01: get url
counter = 0
> df = pd.read_csv('Orders_and_Payment_Flow_Certification.csv', on_bad_lines='skip')

test_prod\test_orders_and_payment_flow.py:50:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\util\_decorators.py:311: in wrapper
return func(*args, **kwargs)
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\parsers\readers.py:680: in read_csv
return _read(filepath_or_buffer, kwds)
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\parsers\readers.py:575: in _read
parser = TextFileReader(filepath_or_buffer, **kwds)
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\parsers\readers.py:933: in __init__
self._engine = self._make_engine(f, self.engine)
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\parsers\readers.py:1217: in _make_engine
self.handles = get_handle( # type: ignore[call-overload]
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

path_or_buf = 'Orders_and_Payment_Flow_Certification.csv', mode = 'r'

@doc(compression_options=_shared_docs["compression_options"] % "path_or_buf")
def get_handle(
path_or_buf: FilePath | BaseBuffer,
mode: str,
*,
encoding: str | None = None,
compression: CompressionOptions = None,
memory_map: bool = False,
is_text: bool = True,
errors: str | None = None,
storage_options: StorageOptions = None,
) -> IOHandles[str] | IOHandles[bytes]:
"""
Get file handle for given path/buffer and mode.

Parameters
----------
path_or_buf : str or file handle
File path or object.
mode : str
Mode to open path_or_buf with.
encoding : str or None
Encoding to use.
{compression_options}

.. versionchanged:: 1.0.0
May now be a dict with key 'method' as compression mode
and other keys as compression options if compression
mode is 'zip'.

.. versionchanged:: 1.1.0
Passing compression options as keys in dict is now
supported for compression modes 'gzip', 'bz2', 'zstd' and 'zip'.

.. versionchanged:: 1.4.0 Zstandard support.

memory_map : bool, default False
See parsers._parser_params for more information.
is_text : bool, default True
Whether the type of the content passed to the file/buffer is string or
bytes. This is not the same as `"b" not in mode`. If a string content is
passed to a binary file/buffer, a wrapper is inserted.
errors : str, default 'strict'
Specifies how encoding and decoding errors are to be handled.
See the errors argument for :func:`open` for a full list
of options.
storage_options: StorageOptions = None
Passed to _get_filepath_or_buffer

.. versionchanged:: 1.2.0

Returns the dataclass IOHandles
"""
# Windows does not default to utf-8. Set to utf-8 for a consistent behavior
encoding = encoding or "utf-8"

# read_csv does not know whether the buffer is opened in binary/text mode
if _is_binary_mode(path_or_buf, mode) and "b" not in mode:
mode += "b"

# validate encoding and errors
codecs.lookup(encoding)
if isinstance(errors, str):
codecs.lookup_error(errors)

# open URLs
ioargs = _get_filepath_or_buffer(
path_or_buf,
encoding=encoding,
compression=compression,
mode=mode,
storage_options=storage_options,
)

handle = ioargs.filepath_or_buffer
handles: list[BaseBuffer]

# memory mapping needs to be the first step
handle, memory_map, handles = _maybe_memory_map(
handle,
memory_map,
ioargs.encoding,
ioargs.mode,
errors,
ioargs.compression["method"] not in _compression_to_extension,
)

is_path = isinstance(handle, str)
compression_args = dict(ioargs.compression)
compression = compression_args.pop("method")

# Only for write methods
if "r" not in mode and is_path:
check_parent_directory(str(handle))

if compression:
if compression != "zstd":
# compression libraries do not like an explicit text-mode
ioargs.mode = ioargs.mode.replace("t", "")
elif compression == "zstd" and "b" not in ioargs.mode:
# python-zstandard defaults to text mode, but we always expect
# compression libraries to use binary mode.
ioargs.mode += "b"

# GZ Compression
if compression == "gzip":
if is_path:
assert isinstance(handle, str)
# error: Incompatible types in assignment (expression has type
# "GzipFile", variable has type "Union[str, BaseBuffer]")
handle = gzip.GzipFile( # type: ignore[assignment]
filename=handle,
mode=ioargs.mode,
**compression_args,
)
else:
handle = gzip.GzipFile(
# No overload variant of "GzipFile" matches argument types
# "Union[str, BaseBuffer]", "str", "Dict[str, Any]"
fileobj=handle, # type: ignore[call-overload]
mode=ioargs.mode,
**compression_args,
)

# BZ Compression
elif compression == "bz2":
# No overload variant of "BZ2File" matches argument types
# "Union[str, BaseBuffer]", "str", "Dict[str, Any]"
handle = bz2.BZ2File( # type: ignore[call-overload]
handle,
mode=ioargs.mode,
**compression_args,
)

# ZIP Compression
elif compression == "zip":
# error: Argument 1 to "_BytesZipFile" has incompatible type "Union[str,
# BaseBuffer]"; expected "Union[Union[str, PathLike[str]],
# ReadBuffer[bytes], WriteBuffer[bytes]]"
handle = _BytesZipFile(
handle, ioargs.mode, **compression_args # type: ignore[arg-type]
)
if handle.mode == "r":
handles.append(handle)
zip_names = handle.namelist()
if len(zip_names) == 1:
handle = handle.open(zip_names.pop())
elif len(zip_names) == 0:
raise ValueError(f"Zero files found in ZIP file {path_or_buf}")
else:
raise ValueError(
"Multiple files found in ZIP file. "
f"Only one file per ZIP: {zip_names}"
)

# XZ Compression
elif compression == "xz":
handle = get_lzma_file()(handle, ioargs.mode)

# Zstd Compression
elif compression == "zstd":
zstd = import_optional_dependency("zstandard")
if "r" in ioargs.mode:
open_args = {"dctx": zstd.ZstdDecompressor(**compression_args)}
else:
open_args = {"cctx": zstd.ZstdCompressor(**compression_args)}
handle = zstd.open(
handle,
mode=ioargs.mode,
**open_args,
)

# Unrecognized Compression
else:
msg = f"Unrecognized compression type: {compression}"
raise ValueError(msg)

assert not isinstance(handle, str)
handles.append(handle)

elif isinstance(handle, str):
# Check whether the filename is to be opened in binary mode.
# Binary mode does not support 'encoding' and 'newline'.
if ioargs.encoding and "b" not in ioargs.mode:
# Encoding
> handle = open(
handle,
ioargs.mode,
encoding=ioargs.encoding,
errors=errors,
newline="",
)
E FileNotFoundError: [Errno 2] No such file or directory: 'Orders_and_Payment_Flow_Certification.csv'

c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\common.py:789: FileNotFoundError
-------------------------------Captured log call--------------------------------
INFO  setup:test_orders_and_payment_flow.py:46 Total URL Present is: 5
Failed test_orders_and_payment_flow.py::TestOrderAndPaymentFlowCertificationProgram::test_Orders_and_Payment_Flow_certification[H] 0.00
self = <test_orders_and_payment_flow.TestOrderAndPaymentFlowCertificationProgram object at 0x0000020BE0C3D850>, value = 'H', initialize_pages = None
testdata = {'contact_no': '123456789', 'country': ['in', 'us', 'gb', 'au', 'de', 'sg', ...], 'db_type': 'mysql', 'dynamo_db_type': 'dynamo', ...}

@pytest.mark.test_details("0000","high","Order and Payment Flow","Pradeep")
@pytest.mark.parametrize("value", certification_program_course_read_csv())
def test_Orders_and_Payment_Flow_certification(self,value,initialize_pages,testdata):

'''
Objective: Make payment and validate the data in Dynamo db and mySql

Step 01: get url
Step 02: click on Enroll Now CTA
Step 03: Make payment
Step 04: Validate the Dynamo db and MySql daya for the payment
'''
self.add_rows_in_csv('Report.csv')
url_count = self._count_url_txt_file_subdomain('Orders_and_Payment_Flow_Certification.txt')
logging.info(f"Total URL Present is: {url_count}")

# Step 01: get url
counter = 0
> df = pd.read_csv('Orders_and_Payment_Flow_Certification.csv', on_bad_lines='skip')

test_prod\test_orders_and_payment_flow.py:50:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\util\_decorators.py:311: in wrapper
return func(*args, **kwargs)
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\parsers\readers.py:680: in read_csv
return _read(filepath_or_buffer, kwds)
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\parsers\readers.py:575: in _read
parser = TextFileReader(filepath_or_buffer, **kwds)
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\parsers\readers.py:933: in __init__
self._engine = self._make_engine(f, self.engine)
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\parsers\readers.py:1217: in _make_engine
self.handles = get_handle( # type: ignore[call-overload]
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

path_or_buf = 'Orders_and_Payment_Flow_Certification.csv', mode = 'r'

@doc(compression_options=_shared_docs["compression_options"] % "path_or_buf")
def get_handle(
path_or_buf: FilePath | BaseBuffer,
mode: str,
*,
encoding: str | None = None,
compression: CompressionOptions = None,
memory_map: bool = False,
is_text: bool = True,
errors: str | None = None,
storage_options: StorageOptions = None,
) -> IOHandles[str] | IOHandles[bytes]:
"""
Get file handle for given path/buffer and mode.

Parameters
----------
path_or_buf : str or file handle
File path or object.
mode : str
Mode to open path_or_buf with.
encoding : str or None
Encoding to use.
{compression_options}

.. versionchanged:: 1.0.0
May now be a dict with key 'method' as compression mode
and other keys as compression options if compression
mode is 'zip'.

.. versionchanged:: 1.1.0
Passing compression options as keys in dict is now
supported for compression modes 'gzip', 'bz2', 'zstd' and 'zip'.

.. versionchanged:: 1.4.0 Zstandard support.

memory_map : bool, default False
See parsers._parser_params for more information.
is_text : bool, default True
Whether the type of the content passed to the file/buffer is string or
bytes. This is not the same as `"b" not in mode`. If a string content is
passed to a binary file/buffer, a wrapper is inserted.
errors : str, default 'strict'
Specifies how encoding and decoding errors are to be handled.
See the errors argument for :func:`open` for a full list
of options.
storage_options: StorageOptions = None
Passed to _get_filepath_or_buffer

.. versionchanged:: 1.2.0

Returns the dataclass IOHandles
"""
# Windows does not default to utf-8. Set to utf-8 for a consistent behavior
encoding = encoding or "utf-8"

# read_csv does not know whether the buffer is opened in binary/text mode
if _is_binary_mode(path_or_buf, mode) and "b" not in mode:
mode += "b"

# validate encoding and errors
codecs.lookup(encoding)
if isinstance(errors, str):
codecs.lookup_error(errors)

# open URLs
ioargs = _get_filepath_or_buffer(
path_or_buf,
encoding=encoding,
compression=compression,
mode=mode,
storage_options=storage_options,
)

handle = ioargs.filepath_or_buffer
handles: list[BaseBuffer]

# memory mapping needs to be the first step
handle, memory_map, handles = _maybe_memory_map(
handle,
memory_map,
ioargs.encoding,
ioargs.mode,
errors,
ioargs.compression["method"] not in _compression_to_extension,
)

is_path = isinstance(handle, str)
compression_args = dict(ioargs.compression)
compression = compression_args.pop("method")

# Only for write methods
if "r" not in mode and is_path:
check_parent_directory(str(handle))

if compression:
if compression != "zstd":
# compression libraries do not like an explicit text-mode
ioargs.mode = ioargs.mode.replace("t", "")
elif compression == "zstd" and "b" not in ioargs.mode:
# python-zstandard defaults to text mode, but we always expect
# compression libraries to use binary mode.
ioargs.mode += "b"

# GZ Compression
if compression == "gzip":
if is_path:
assert isinstance(handle, str)
# error: Incompatible types in assignment (expression has type
# "GzipFile", variable has type "Union[str, BaseBuffer]")
handle = gzip.GzipFile( # type: ignore[assignment]
filename=handle,
mode=ioargs.mode,
**compression_args,
)
else:
handle = gzip.GzipFile(
# No overload variant of "GzipFile" matches argument types
# "Union[str, BaseBuffer]", "str", "Dict[str, Any]"
fileobj=handle, # type: ignore[call-overload]
mode=ioargs.mode,
**compression_args,
)

# BZ Compression
elif compression == "bz2":
# No overload variant of "BZ2File" matches argument types
# "Union[str, BaseBuffer]", "str", "Dict[str, Any]"
handle = bz2.BZ2File( # type: ignore[call-overload]
handle,
mode=ioargs.mode,
**compression_args,
)

# ZIP Compression
elif compression == "zip":
# error: Argument 1 to "_BytesZipFile" has incompatible type "Union[str,
# BaseBuffer]"; expected "Union[Union[str, PathLike[str]],
# ReadBuffer[bytes], WriteBuffer[bytes]]"
handle = _BytesZipFile(
handle, ioargs.mode, **compression_args # type: ignore[arg-type]
)
if handle.mode == "r":
handles.append(handle)
zip_names = handle.namelist()
if len(zip_names) == 1:
handle = handle.open(zip_names.pop())
elif len(zip_names) == 0:
raise ValueError(f"Zero files found in ZIP file {path_or_buf}")
else:
raise ValueError(
"Multiple files found in ZIP file. "
f"Only one file per ZIP: {zip_names}"
)

# XZ Compression
elif compression == "xz":
handle = get_lzma_file()(handle, ioargs.mode)

# Zstd Compression
elif compression == "zstd":
zstd = import_optional_dependency("zstandard")
if "r" in ioargs.mode:
open_args = {"dctx": zstd.ZstdDecompressor(**compression_args)}
else:
open_args = {"cctx": zstd.ZstdCompressor(**compression_args)}
handle = zstd.open(
handle,
mode=ioargs.mode,
**open_args,
)

# Unrecognized Compression
else:
msg = f"Unrecognized compression type: {compression}"
raise ValueError(msg)

assert not isinstance(handle, str)
handles.append(handle)

elif isinstance(handle, str):
# Check whether the filename is to be opened in binary mode.
# Binary mode does not support 'encoding' and 'newline'.
if ioargs.encoding and "b" not in ioargs.mode:
# Encoding
> handle = open(
handle,
ioargs.mode,
encoding=ioargs.encoding,
errors=errors,
newline="",
)
E FileNotFoundError: [Errno 2] No such file or directory: 'Orders_and_Payment_Flow_Certification.csv'

c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\common.py:789: FileNotFoundError
-------------------------------Captured log call--------------------------------
INFO  setup:test_orders_and_payment_flow.py:46 Total URL Present is: 5
Failed test_orders_and_payment_flow.py::TestOrderAndPaymentFlowCertificationProgram::test_Orders_and_Payment_Flow_certification[I] 0.00
self = <test_orders_and_payment_flow.TestOrderAndPaymentFlowCertificationProgram object at 0x0000020BE0E51310>, value = 'I', initialize_pages = None
testdata = {'contact_no': '123456789', 'country': ['in', 'us', 'gb', 'au', 'de', 'sg', ...], 'db_type': 'mysql', 'dynamo_db_type': 'dynamo', ...}

@pytest.mark.test_details("0000","high","Order and Payment Flow","Pradeep")
@pytest.mark.parametrize("value", certification_program_course_read_csv())
def test_Orders_and_Payment_Flow_certification(self,value,initialize_pages,testdata):

'''
Objective: Make payment and validate the data in Dynamo db and mySql

Step 01: get url
Step 02: click on Enroll Now CTA
Step 03: Make payment
Step 04: Validate the Dynamo db and MySql daya for the payment
'''
self.add_rows_in_csv('Report.csv')
url_count = self._count_url_txt_file_subdomain('Orders_and_Payment_Flow_Certification.txt')
logging.info(f"Total URL Present is: {url_count}")

# Step 01: get url
counter = 0
> df = pd.read_csv('Orders_and_Payment_Flow_Certification.csv', on_bad_lines='skip')

test_prod\test_orders_and_payment_flow.py:50:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\util\_decorators.py:311: in wrapper
return func(*args, **kwargs)
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\parsers\readers.py:680: in read_csv
return _read(filepath_or_buffer, kwds)
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\parsers\readers.py:575: in _read
parser = TextFileReader(filepath_or_buffer, **kwds)
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\parsers\readers.py:933: in __init__
self._engine = self._make_engine(f, self.engine)
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\parsers\readers.py:1217: in _make_engine
self.handles = get_handle( # type: ignore[call-overload]
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

path_or_buf = 'Orders_and_Payment_Flow_Certification.csv', mode = 'r'

@doc(compression_options=_shared_docs["compression_options"] % "path_or_buf")
def get_handle(
path_or_buf: FilePath | BaseBuffer,
mode: str,
*,
encoding: str | None = None,
compression: CompressionOptions = None,
memory_map: bool = False,
is_text: bool = True,
errors: str | None = None,
storage_options: StorageOptions = None,
) -> IOHandles[str] | IOHandles[bytes]:
"""
Get file handle for given path/buffer and mode.

Parameters
----------
path_or_buf : str or file handle
File path or object.
mode : str
Mode to open path_or_buf with.
encoding : str or None
Encoding to use.
{compression_options}

.. versionchanged:: 1.0.0
May now be a dict with key 'method' as compression mode
and other keys as compression options if compression
mode is 'zip'.

.. versionchanged:: 1.1.0
Passing compression options as keys in dict is now
supported for compression modes 'gzip', 'bz2', 'zstd' and 'zip'.

.. versionchanged:: 1.4.0 Zstandard support.

memory_map : bool, default False
See parsers._parser_params for more information.
is_text : bool, default True
Whether the type of the content passed to the file/buffer is string or
bytes. This is not the same as `"b" not in mode`. If a string content is
passed to a binary file/buffer, a wrapper is inserted.
errors : str, default 'strict'
Specifies how encoding and decoding errors are to be handled.
See the errors argument for :func:`open` for a full list
of options.
storage_options: StorageOptions = None
Passed to _get_filepath_or_buffer

.. versionchanged:: 1.2.0

Returns the dataclass IOHandles
"""
# Windows does not default to utf-8. Set to utf-8 for a consistent behavior
encoding = encoding or "utf-8"

# read_csv does not know whether the buffer is opened in binary/text mode
if _is_binary_mode(path_or_buf, mode) and "b" not in mode:
mode += "b"

# validate encoding and errors
codecs.lookup(encoding)
if isinstance(errors, str):
codecs.lookup_error(errors)

# open URLs
ioargs = _get_filepath_or_buffer(
path_or_buf,
encoding=encoding,
compression=compression,
mode=mode,
storage_options=storage_options,
)

handle = ioargs.filepath_or_buffer
handles: list[BaseBuffer]

# memory mapping needs to be the first step
handle, memory_map, handles = _maybe_memory_map(
handle,
memory_map,
ioargs.encoding,
ioargs.mode,
errors,
ioargs.compression["method"] not in _compression_to_extension,
)

is_path = isinstance(handle, str)
compression_args = dict(ioargs.compression)
compression = compression_args.pop("method")

# Only for write methods
if "r" not in mode and is_path:
check_parent_directory(str(handle))

if compression:
if compression != "zstd":
# compression libraries do not like an explicit text-mode
ioargs.mode = ioargs.mode.replace("t", "")
elif compression == "zstd" and "b" not in ioargs.mode:
# python-zstandard defaults to text mode, but we always expect
# compression libraries to use binary mode.
ioargs.mode += "b"

# GZ Compression
if compression == "gzip":
if is_path:
assert isinstance(handle, str)
# error: Incompatible types in assignment (expression has type
# "GzipFile", variable has type "Union[str, BaseBuffer]")
handle = gzip.GzipFile( # type: ignore[assignment]
filename=handle,
mode=ioargs.mode,
**compression_args,
)
else:
handle = gzip.GzipFile(
# No overload variant of "GzipFile" matches argument types
# "Union[str, BaseBuffer]", "str", "Dict[str, Any]"
fileobj=handle, # type: ignore[call-overload]
mode=ioargs.mode,
**compression_args,
)

# BZ Compression
elif compression == "bz2":
# No overload variant of "BZ2File" matches argument types
# "Union[str, BaseBuffer]", "str", "Dict[str, Any]"
handle = bz2.BZ2File( # type: ignore[call-overload]
handle,
mode=ioargs.mode,
**compression_args,
)

# ZIP Compression
elif compression == "zip":
# error: Argument 1 to "_BytesZipFile" has incompatible type "Union[str,
# BaseBuffer]"; expected "Union[Union[str, PathLike[str]],
# ReadBuffer[bytes], WriteBuffer[bytes]]"
handle = _BytesZipFile(
handle, ioargs.mode, **compression_args # type: ignore[arg-type]
)
if handle.mode == "r":
handles.append(handle)
zip_names = handle.namelist()
if len(zip_names) == 1:
handle = handle.open(zip_names.pop())
elif len(zip_names) == 0:
raise ValueError(f"Zero files found in ZIP file {path_or_buf}")
else:
raise ValueError(
"Multiple files found in ZIP file. "
f"Only one file per ZIP: {zip_names}"
)

# XZ Compression
elif compression == "xz":
handle = get_lzma_file()(handle, ioargs.mode)

# Zstd Compression
elif compression == "zstd":
zstd = import_optional_dependency("zstandard")
if "r" in ioargs.mode:
open_args = {"dctx": zstd.ZstdDecompressor(**compression_args)}
else:
open_args = {"cctx": zstd.ZstdCompressor(**compression_args)}
handle = zstd.open(
handle,
mode=ioargs.mode,
**open_args,
)

# Unrecognized Compression
else:
msg = f"Unrecognized compression type: {compression}"
raise ValueError(msg)

assert not isinstance(handle, str)
handles.append(handle)

elif isinstance(handle, str):
# Check whether the filename is to be opened in binary mode.
# Binary mode does not support 'encoding' and 'newline'.
if ioargs.encoding and "b" not in ioargs.mode:
# Encoding
> handle = open(
handle,
ioargs.mode,
encoding=ioargs.encoding,
errors=errors,
newline="",
)
E FileNotFoundError: [Errno 2] No such file or directory: 'Orders_and_Payment_Flow_Certification.csv'

c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\common.py:789: FileNotFoundError
-------------------------------Captured log call--------------------------------
INFO  setup:test_orders_and_payment_flow.py:46 Total URL Present is: 5
Failed test_orders_and_payment_flow.py::TestOrderAndPaymentFlowCertificationProgram::test_Orders_and_Payment_Flow_certification[J] 0.00
self = <test_orders_and_payment_flow.TestOrderAndPaymentFlowCertificationProgram object at 0x0000020BE0EE8D30>, value = 'J', initialize_pages = None
testdata = {'contact_no': '123456789', 'country': ['in', 'us', 'gb', 'au', 'de', 'sg', ...], 'db_type': 'mysql', 'dynamo_db_type': 'dynamo', ...}

@pytest.mark.test_details("0000","high","Order and Payment Flow","Pradeep")
@pytest.mark.parametrize("value", certification_program_course_read_csv())
def test_Orders_and_Payment_Flow_certification(self,value,initialize_pages,testdata):

'''
Objective: Make payment and validate the data in Dynamo db and mySql

Step 01: get url
Step 02: click on Enroll Now CTA
Step 03: Make payment
Step 04: Validate the Dynamo db and MySql daya for the payment
'''
self.add_rows_in_csv('Report.csv')
url_count = self._count_url_txt_file_subdomain('Orders_and_Payment_Flow_Certification.txt')
logging.info(f"Total URL Present is: {url_count}")

# Step 01: get url
counter = 0
> df = pd.read_csv('Orders_and_Payment_Flow_Certification.csv', on_bad_lines='skip')

test_prod\test_orders_and_payment_flow.py:50:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\util\_decorators.py:311: in wrapper
return func(*args, **kwargs)
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\parsers\readers.py:680: in read_csv
return _read(filepath_or_buffer, kwds)
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\parsers\readers.py:575: in _read
parser = TextFileReader(filepath_or_buffer, **kwds)
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\parsers\readers.py:933: in __init__
self._engine = self._make_engine(f, self.engine)
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\parsers\readers.py:1217: in _make_engine
self.handles = get_handle( # type: ignore[call-overload]
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

path_or_buf = 'Orders_and_Payment_Flow_Certification.csv', mode = 'r'

@doc(compression_options=_shared_docs["compression_options"] % "path_or_buf")
def get_handle(
path_or_buf: FilePath | BaseBuffer,
mode: str,
*,
encoding: str | None = None,
compression: CompressionOptions = None,
memory_map: bool = False,
is_text: bool = True,
errors: str | None = None,
storage_options: StorageOptions = None,
) -> IOHandles[str] | IOHandles[bytes]:
"""
Get file handle for given path/buffer and mode.

Parameters
----------
path_or_buf : str or file handle
File path or object.
mode : str
Mode to open path_or_buf with.
encoding : str or None
Encoding to use.
{compression_options}

.. versionchanged:: 1.0.0
May now be a dict with key 'method' as compression mode
and other keys as compression options if compression
mode is 'zip'.

.. versionchanged:: 1.1.0
Passing compression options as keys in dict is now
supported for compression modes 'gzip', 'bz2', 'zstd' and 'zip'.

.. versionchanged:: 1.4.0 Zstandard support.

memory_map : bool, default False
See parsers._parser_params for more information.
is_text : bool, default True
Whether the type of the content passed to the file/buffer is string or
bytes. This is not the same as `"b" not in mode`. If a string content is
passed to a binary file/buffer, a wrapper is inserted.
errors : str, default 'strict'
Specifies how encoding and decoding errors are to be handled.
See the errors argument for :func:`open` for a full list
of options.
storage_options: StorageOptions = None
Passed to _get_filepath_or_buffer

.. versionchanged:: 1.2.0

Returns the dataclass IOHandles
"""
# Windows does not default to utf-8. Set to utf-8 for a consistent behavior
encoding = encoding or "utf-8"

# read_csv does not know whether the buffer is opened in binary/text mode
if _is_binary_mode(path_or_buf, mode) and "b" not in mode:
mode += "b"

# validate encoding and errors
codecs.lookup(encoding)
if isinstance(errors, str):
codecs.lookup_error(errors)

# open URLs
ioargs = _get_filepath_or_buffer(
path_or_buf,
encoding=encoding,
compression=compression,
mode=mode,
storage_options=storage_options,
)

handle = ioargs.filepath_or_buffer
handles: list[BaseBuffer]

# memory mapping needs to be the first step
handle, memory_map, handles = _maybe_memory_map(
handle,
memory_map,
ioargs.encoding,
ioargs.mode,
errors,
ioargs.compression["method"] not in _compression_to_extension,
)

is_path = isinstance(handle, str)
compression_args = dict(ioargs.compression)
compression = compression_args.pop("method")

# Only for write methods
if "r" not in mode and is_path:
check_parent_directory(str(handle))

if compression:
if compression != "zstd":
# compression libraries do not like an explicit text-mode
ioargs.mode = ioargs.mode.replace("t", "")
elif compression == "zstd" and "b" not in ioargs.mode:
# python-zstandard defaults to text mode, but we always expect
# compression libraries to use binary mode.
ioargs.mode += "b"

# GZ Compression
if compression == "gzip":
if is_path:
assert isinstance(handle, str)
# error: Incompatible types in assignment (expression has type
# "GzipFile", variable has type "Union[str, BaseBuffer]")
handle = gzip.GzipFile( # type: ignore[assignment]
filename=handle,
mode=ioargs.mode,
**compression_args,
)
else:
handle = gzip.GzipFile(
# No overload variant of "GzipFile" matches argument types
# "Union[str, BaseBuffer]", "str", "Dict[str, Any]"
fileobj=handle, # type: ignore[call-overload]
mode=ioargs.mode,
**compression_args,
)

# BZ Compression
elif compression == "bz2":
# No overload variant of "BZ2File" matches argument types
# "Union[str, BaseBuffer]", "str", "Dict[str, Any]"
handle = bz2.BZ2File( # type: ignore[call-overload]
handle,
mode=ioargs.mode,
**compression_args,
)

# ZIP Compression
elif compression == "zip":
# error: Argument 1 to "_BytesZipFile" has incompatible type "Union[str,
# BaseBuffer]"; expected "Union[Union[str, PathLike[str]],
# ReadBuffer[bytes], WriteBuffer[bytes]]"
handle = _BytesZipFile(
handle, ioargs.mode, **compression_args # type: ignore[arg-type]
)
if handle.mode == "r":
handles.append(handle)
zip_names = handle.namelist()
if len(zip_names) == 1:
handle = handle.open(zip_names.pop())
elif len(zip_names) == 0:
raise ValueError(f"Zero files found in ZIP file {path_or_buf}")
else:
raise ValueError(
"Multiple files found in ZIP file. "
f"Only one file per ZIP: {zip_names}"
)

# XZ Compression
elif compression == "xz":
handle = get_lzma_file()(handle, ioargs.mode)

# Zstd Compression
elif compression == "zstd":
zstd = import_optional_dependency("zstandard")
if "r" in ioargs.mode:
open_args = {"dctx": zstd.ZstdDecompressor(**compression_args)}
else:
open_args = {"cctx": zstd.ZstdCompressor(**compression_args)}
handle = zstd.open(
handle,
mode=ioargs.mode,
**open_args,
)

# Unrecognized Compression
else:
msg = f"Unrecognized compression type: {compression}"
raise ValueError(msg)

assert not isinstance(handle, str)
handles.append(handle)

elif isinstance(handle, str):
# Check whether the filename is to be opened in binary mode.
# Binary mode does not support 'encoding' and 'newline'.
if ioargs.encoding and "b" not in ioargs.mode:
# Encoding
> handle = open(
handle,
ioargs.mode,
encoding=ioargs.encoding,
errors=errors,
newline="",
)
E FileNotFoundError: [Errno 2] No such file or directory: 'Orders_and_Payment_Flow_Certification.csv'

c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\common.py:789: FileNotFoundError
-------------------------------Captured log call--------------------------------
INFO  setup:test_orders_and_payment_flow.py:46 Total URL Present is: 5
Failed test_orders_and_payment_flow.py::TestOrderAndPaymentFlowCertificationProgram::test_Orders_and_Payment_Flow_certification[K] 0.01
self = <test_orders_and_payment_flow.TestOrderAndPaymentFlowCertificationProgram object at 0x0000020BE0EEB1F0>, value = 'K', initialize_pages = None
testdata = {'contact_no': '123456789', 'country': ['in', 'us', 'gb', 'au', 'de', 'sg', ...], 'db_type': 'mysql', 'dynamo_db_type': 'dynamo', ...}

@pytest.mark.test_details("0000","high","Order and Payment Flow","Pradeep")
@pytest.mark.parametrize("value", certification_program_course_read_csv())
def test_Orders_and_Payment_Flow_certification(self,value,initialize_pages,testdata):

'''
Objective: Make payment and validate the data in Dynamo db and mySql

Step 01: get url
Step 02: click on Enroll Now CTA
Step 03: Make payment
Step 04: Validate the Dynamo db and MySql daya for the payment
'''
self.add_rows_in_csv('Report.csv')
url_count = self._count_url_txt_file_subdomain('Orders_and_Payment_Flow_Certification.txt')
logging.info(f"Total URL Present is: {url_count}")

# Step 01: get url
counter = 0
> df = pd.read_csv('Orders_and_Payment_Flow_Certification.csv', on_bad_lines='skip')

test_prod\test_orders_and_payment_flow.py:50:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\util\_decorators.py:311: in wrapper
return func(*args, **kwargs)
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\parsers\readers.py:680: in read_csv
return _read(filepath_or_buffer, kwds)
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\parsers\readers.py:575: in _read
parser = TextFileReader(filepath_or_buffer, **kwds)
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\parsers\readers.py:933: in __init__
self._engine = self._make_engine(f, self.engine)
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\parsers\readers.py:1217: in _make_engine
self.handles = get_handle( # type: ignore[call-overload]
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

path_or_buf = 'Orders_and_Payment_Flow_Certification.csv', mode = 'r'

@doc(compression_options=_shared_docs["compression_options"] % "path_or_buf")
def get_handle(
path_or_buf: FilePath | BaseBuffer,
mode: str,
*,
encoding: str | None = None,
compression: CompressionOptions = None,
memory_map: bool = False,
is_text: bool = True,
errors: str | None = None,
storage_options: StorageOptions = None,
) -> IOHandles[str] | IOHandles[bytes]:
"""
Get file handle for given path/buffer and mode.

Parameters
----------
path_or_buf : str or file handle
File path or object.
mode : str
Mode to open path_or_buf with.
encoding : str or None
Encoding to use.
{compression_options}

.. versionchanged:: 1.0.0
May now be a dict with key 'method' as compression mode
and other keys as compression options if compression
mode is 'zip'.

.. versionchanged:: 1.1.0
Passing compression options as keys in dict is now
supported for compression modes 'gzip', 'bz2', 'zstd' and 'zip'.

.. versionchanged:: 1.4.0 Zstandard support.

memory_map : bool, default False
See parsers._parser_params for more information.
is_text : bool, default True
Whether the type of the content passed to the file/buffer is string or
bytes. This is not the same as `"b" not in mode`. If a string content is
passed to a binary file/buffer, a wrapper is inserted.
errors : str, default 'strict'
Specifies how encoding and decoding errors are to be handled.
See the errors argument for :func:`open` for a full list
of options.
storage_options: StorageOptions = None
Passed to _get_filepath_or_buffer

.. versionchanged:: 1.2.0

Returns the dataclass IOHandles
"""
# Windows does not default to utf-8. Set to utf-8 for a consistent behavior
encoding = encoding or "utf-8"

# read_csv does not know whether the buffer is opened in binary/text mode
if _is_binary_mode(path_or_buf, mode) and "b" not in mode:
mode += "b"

# validate encoding and errors
codecs.lookup(encoding)
if isinstance(errors, str):
codecs.lookup_error(errors)

# open URLs
ioargs = _get_filepath_or_buffer(
path_or_buf,
encoding=encoding,
compression=compression,
mode=mode,
storage_options=storage_options,
)

handle = ioargs.filepath_or_buffer
handles: list[BaseBuffer]

# memory mapping needs to be the first step
handle, memory_map, handles = _maybe_memory_map(
handle,
memory_map,
ioargs.encoding,
ioargs.mode,
errors,
ioargs.compression["method"] not in _compression_to_extension,
)

is_path = isinstance(handle, str)
compression_args = dict(ioargs.compression)
compression = compression_args.pop("method")

# Only for write methods
if "r" not in mode and is_path:
check_parent_directory(str(handle))

if compression:
if compression != "zstd":
# compression libraries do not like an explicit text-mode
ioargs.mode = ioargs.mode.replace("t", "")
elif compression == "zstd" and "b" not in ioargs.mode:
# python-zstandard defaults to text mode, but we always expect
# compression libraries to use binary mode.
ioargs.mode += "b"

# GZ Compression
if compression == "gzip":
if is_path:
assert isinstance(handle, str)
# error: Incompatible types in assignment (expression has type
# "GzipFile", variable has type "Union[str, BaseBuffer]")
handle = gzip.GzipFile( # type: ignore[assignment]
filename=handle,
mode=ioargs.mode,
**compression_args,
)
else:
handle = gzip.GzipFile(
# No overload variant of "GzipFile" matches argument types
# "Union[str, BaseBuffer]", "str", "Dict[str, Any]"
fileobj=handle, # type: ignore[call-overload]
mode=ioargs.mode,
**compression_args,
)

# BZ Compression
elif compression == "bz2":
# No overload variant of "BZ2File" matches argument types
# "Union[str, BaseBuffer]", "str", "Dict[str, Any]"
handle = bz2.BZ2File( # type: ignore[call-overload]
handle,
mode=ioargs.mode,
**compression_args,
)

# ZIP Compression
elif compression == "zip":
# error: Argument 1 to "_BytesZipFile" has incompatible type "Union[str,
# BaseBuffer]"; expected "Union[Union[str, PathLike[str]],
# ReadBuffer[bytes], WriteBuffer[bytes]]"
handle = _BytesZipFile(
handle, ioargs.mode, **compression_args # type: ignore[arg-type]
)
if handle.mode == "r":
handles.append(handle)
zip_names = handle.namelist()
if len(zip_names) == 1:
handle = handle.open(zip_names.pop())
elif len(zip_names) == 0:
raise ValueError(f"Zero files found in ZIP file {path_or_buf}")
else:
raise ValueError(
"Multiple files found in ZIP file. "
f"Only one file per ZIP: {zip_names}"
)

# XZ Compression
elif compression == "xz":
handle = get_lzma_file()(handle, ioargs.mode)

# Zstd Compression
elif compression == "zstd":
zstd = import_optional_dependency("zstandard")
if "r" in ioargs.mode:
open_args = {"dctx": zstd.ZstdDecompressor(**compression_args)}
else:
open_args = {"cctx": zstd.ZstdCompressor(**compression_args)}
handle = zstd.open(
handle,
mode=ioargs.mode,
**open_args,
)

# Unrecognized Compression
else:
msg = f"Unrecognized compression type: {compression}"
raise ValueError(msg)

assert not isinstance(handle, str)
handles.append(handle)

elif isinstance(handle, str):
# Check whether the filename is to be opened in binary mode.
# Binary mode does not support 'encoding' and 'newline'.
if ioargs.encoding and "b" not in ioargs.mode:
# Encoding
> handle = open(
handle,
ioargs.mode,
encoding=ioargs.encoding,
errors=errors,
newline="",
)
E FileNotFoundError: [Errno 2] No such file or directory: 'Orders_and_Payment_Flow_Certification.csv'

c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\common.py:789: FileNotFoundError
-------------------------------Captured log call--------------------------------
INFO  setup:test_orders_and_payment_flow.py:46 Total URL Present is: 5
Failed test_orders_and_payment_flow.py::TestOrderAndPaymentFlowCertificationProgram::test_Orders_and_Payment_Flow_certification[L] 0.00
self = <test_orders_and_payment_flow.TestOrderAndPaymentFlowCertificationProgram object at 0x0000020BE1180820>, value = 'L', initialize_pages = None
testdata = {'contact_no': '123456789', 'country': ['in', 'us', 'gb', 'au', 'de', 'sg', ...], 'db_type': 'mysql', 'dynamo_db_type': 'dynamo', ...}

@pytest.mark.test_details("0000","high","Order and Payment Flow","Pradeep")
@pytest.mark.parametrize("value", certification_program_course_read_csv())
def test_Orders_and_Payment_Flow_certification(self,value,initialize_pages,testdata):

'''
Objective: Make payment and validate the data in Dynamo db and mySql

Step 01: get url
Step 02: click on Enroll Now CTA
Step 03: Make payment
Step 04: Validate the Dynamo db and MySql daya for the payment
'''
self.add_rows_in_csv('Report.csv')
url_count = self._count_url_txt_file_subdomain('Orders_and_Payment_Flow_Certification.txt')
logging.info(f"Total URL Present is: {url_count}")

# Step 01: get url
counter = 0
> df = pd.read_csv('Orders_and_Payment_Flow_Certification.csv', on_bad_lines='skip')

test_prod\test_orders_and_payment_flow.py:50:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\util\_decorators.py:311: in wrapper
return func(*args, **kwargs)
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\parsers\readers.py:680: in read_csv
return _read(filepath_or_buffer, kwds)
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\parsers\readers.py:575: in _read
parser = TextFileReader(filepath_or_buffer, **kwds)
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\parsers\readers.py:933: in __init__
self._engine = self._make_engine(f, self.engine)
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\parsers\readers.py:1217: in _make_engine
self.handles = get_handle( # type: ignore[call-overload]
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

path_or_buf = 'Orders_and_Payment_Flow_Certification.csv', mode = 'r'

@doc(compression_options=_shared_docs["compression_options"] % "path_or_buf")
def get_handle(
path_or_buf: FilePath | BaseBuffer,
mode: str,
*,
encoding: str | None = None,
compression: CompressionOptions = None,
memory_map: bool = False,
is_text: bool = True,
errors: str | None = None,
storage_options: StorageOptions = None,
) -> IOHandles[str] | IOHandles[bytes]:
"""
Get file handle for given path/buffer and mode.

Parameters
----------
path_or_buf : str or file handle
File path or object.
mode : str
Mode to open path_or_buf with.
encoding : str or None
Encoding to use.
{compression_options}

.. versionchanged:: 1.0.0
May now be a dict with key 'method' as compression mode
and other keys as compression options if compression
mode is 'zip'.

.. versionchanged:: 1.1.0
Passing compression options as keys in dict is now
supported for compression modes 'gzip', 'bz2', 'zstd' and 'zip'.

.. versionchanged:: 1.4.0 Zstandard support.

memory_map : bool, default False
See parsers._parser_params for more information.
is_text : bool, default True
Whether the type of the content passed to the file/buffer is string or
bytes. This is not the same as `"b" not in mode`. If a string content is
passed to a binary file/buffer, a wrapper is inserted.
errors : str, default 'strict'
Specifies how encoding and decoding errors are to be handled.
See the errors argument for :func:`open` for a full list
of options.
storage_options: StorageOptions = None
Passed to _get_filepath_or_buffer

.. versionchanged:: 1.2.0

Returns the dataclass IOHandles
"""
# Windows does not default to utf-8. Set to utf-8 for a consistent behavior
encoding = encoding or "utf-8"

# read_csv does not know whether the buffer is opened in binary/text mode
if _is_binary_mode(path_or_buf, mode) and "b" not in mode:
mode += "b"

# validate encoding and errors
codecs.lookup(encoding)
if isinstance(errors, str):
codecs.lookup_error(errors)

# open URLs
ioargs = _get_filepath_or_buffer(
path_or_buf,
encoding=encoding,
compression=compression,
mode=mode,
storage_options=storage_options,
)

handle = ioargs.filepath_or_buffer
handles: list[BaseBuffer]

# memory mapping needs to be the first step
handle, memory_map, handles = _maybe_memory_map(
handle,
memory_map,
ioargs.encoding,
ioargs.mode,
errors,
ioargs.compression["method"] not in _compression_to_extension,
)

is_path = isinstance(handle, str)
compression_args = dict(ioargs.compression)
compression = compression_args.pop("method")

# Only for write methods
if "r" not in mode and is_path:
check_parent_directory(str(handle))

if compression:
if compression != "zstd":
# compression libraries do not like an explicit text-mode
ioargs.mode = ioargs.mode.replace("t", "")
elif compression == "zstd" and "b" not in ioargs.mode:
# python-zstandard defaults to text mode, but we always expect
# compression libraries to use binary mode.
ioargs.mode += "b"

# GZ Compression
if compression == "gzip":
if is_path:
assert isinstance(handle, str)
# error: Incompatible types in assignment (expression has type
# "GzipFile", variable has type "Union[str, BaseBuffer]")
handle = gzip.GzipFile( # type: ignore[assignment]
filename=handle,
mode=ioargs.mode,
**compression_args,
)
else:
handle = gzip.GzipFile(
# No overload variant of "GzipFile" matches argument types
# "Union[str, BaseBuffer]", "str", "Dict[str, Any]"
fileobj=handle, # type: ignore[call-overload]
mode=ioargs.mode,
**compression_args,
)

# BZ Compression
elif compression == "bz2":
# No overload variant of "BZ2File" matches argument types
# "Union[str, BaseBuffer]", "str", "Dict[str, Any]"
handle = bz2.BZ2File( # type: ignore[call-overload]
handle,
mode=ioargs.mode,
**compression_args,
)

# ZIP Compression
elif compression == "zip":
# error: Argument 1 to "_BytesZipFile" has incompatible type "Union[str,
# BaseBuffer]"; expected "Union[Union[str, PathLike[str]],
# ReadBuffer[bytes], WriteBuffer[bytes]]"
handle = _BytesZipFile(
handle, ioargs.mode, **compression_args # type: ignore[arg-type]
)
if handle.mode == "r":
handles.append(handle)
zip_names = handle.namelist()
if len(zip_names) == 1:
handle = handle.open(zip_names.pop())
elif len(zip_names) == 0:
raise ValueError(f"Zero files found in ZIP file {path_or_buf}")
else:
raise ValueError(
"Multiple files found in ZIP file. "
f"Only one file per ZIP: {zip_names}"
)

# XZ Compression
elif compression == "xz":
handle = get_lzma_file()(handle, ioargs.mode)

# Zstd Compression
elif compression == "zstd":
zstd = import_optional_dependency("zstandard")
if "r" in ioargs.mode:
open_args = {"dctx": zstd.ZstdDecompressor(**compression_args)}
else:
open_args = {"cctx": zstd.ZstdCompressor(**compression_args)}
handle = zstd.open(
handle,
mode=ioargs.mode,
**open_args,
)

# Unrecognized Compression
else:
msg = f"Unrecognized compression type: {compression}"
raise ValueError(msg)

assert not isinstance(handle, str)
handles.append(handle)

elif isinstance(handle, str):
# Check whether the filename is to be opened in binary mode.
# Binary mode does not support 'encoding' and 'newline'.
if ioargs.encoding and "b" not in ioargs.mode:
# Encoding
> handle = open(
handle,
ioargs.mode,
encoding=ioargs.encoding,
errors=errors,
newline="",
)
E FileNotFoundError: [Errno 2] No such file or directory: 'Orders_and_Payment_Flow_Certification.csv'

c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\common.py:789: FileNotFoundError
-------------------------------Captured log call--------------------------------
INFO  setup:test_orders_and_payment_flow.py:46 Total URL Present is: 5
Failed test_orders_and_payment_flow.py::TestOrderAndPaymentFlowCertificationProgram::test_Orders_and_Payment_Flow_certification[M] 0.01
self = <test_orders_and_payment_flow.TestOrderAndPaymentFlowCertificationProgram object at 0x0000020BE0F85BE0>, value = 'M', initialize_pages = None
testdata = {'contact_no': '123456789', 'country': ['in', 'us', 'gb', 'au', 'de', 'sg', ...], 'db_type': 'mysql', 'dynamo_db_type': 'dynamo', ...}

@pytest.mark.test_details("0000","high","Order and Payment Flow","Pradeep")
@pytest.mark.parametrize("value", certification_program_course_read_csv())
def test_Orders_and_Payment_Flow_certification(self,value,initialize_pages,testdata):

'''
Objective: Make payment and validate the data in Dynamo db and mySql

Step 01: get url
Step 02: click on Enroll Now CTA
Step 03: Make payment
Step 04: Validate the Dynamo db and MySql daya for the payment
'''
self.add_rows_in_csv('Report.csv')
url_count = self._count_url_txt_file_subdomain('Orders_and_Payment_Flow_Certification.txt')
logging.info(f"Total URL Present is: {url_count}")

# Step 01: get url
counter = 0
> df = pd.read_csv('Orders_and_Payment_Flow_Certification.csv', on_bad_lines='skip')

test_prod\test_orders_and_payment_flow.py:50:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\util\_decorators.py:311: in wrapper
return func(*args, **kwargs)
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\parsers\readers.py:680: in read_csv
return _read(filepath_or_buffer, kwds)
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\parsers\readers.py:575: in _read
parser = TextFileReader(filepath_or_buffer, **kwds)
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\parsers\readers.py:933: in __init__
self._engine = self._make_engine(f, self.engine)
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\parsers\readers.py:1217: in _make_engine
self.handles = get_handle( # type: ignore[call-overload]
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

path_or_buf = 'Orders_and_Payment_Flow_Certification.csv', mode = 'r'

@doc(compression_options=_shared_docs["compression_options"] % "path_or_buf")
def get_handle(
path_or_buf: FilePath | BaseBuffer,
mode: str,
*,
encoding: str | None = None,
compression: CompressionOptions = None,
memory_map: bool = False,
is_text: bool = True,
errors: str | None = None,
storage_options: StorageOptions = None,
) -> IOHandles[str] | IOHandles[bytes]:
"""
Get file handle for given path/buffer and mode.

Parameters
----------
path_or_buf : str or file handle
File path or object.
mode : str
Mode to open path_or_buf with.
encoding : str or None
Encoding to use.
{compression_options}

.. versionchanged:: 1.0.0
May now be a dict with key 'method' as compression mode
and other keys as compression options if compression
mode is 'zip'.

.. versionchanged:: 1.1.0
Passing compression options as keys in dict is now
supported for compression modes 'gzip', 'bz2', 'zstd' and 'zip'.

.. versionchanged:: 1.4.0 Zstandard support.

memory_map : bool, default False
See parsers._parser_params for more information.
is_text : bool, default True
Whether the type of the content passed to the file/buffer is string or
bytes. This is not the same as `"b" not in mode`. If a string content is
passed to a binary file/buffer, a wrapper is inserted.
errors : str, default 'strict'
Specifies how encoding and decoding errors are to be handled.
See the errors argument for :func:`open` for a full list
of options.
storage_options: StorageOptions = None
Passed to _get_filepath_or_buffer

.. versionchanged:: 1.2.0

Returns the dataclass IOHandles
"""
# Windows does not default to utf-8. Set to utf-8 for a consistent behavior
encoding = encoding or "utf-8"

# read_csv does not know whether the buffer is opened in binary/text mode
if _is_binary_mode(path_or_buf, mode) and "b" not in mode:
mode += "b"

# validate encoding and errors
codecs.lookup(encoding)
if isinstance(errors, str):
codecs.lookup_error(errors)

# open URLs
ioargs = _get_filepath_or_buffer(
path_or_buf,
encoding=encoding,
compression=compression,
mode=mode,
storage_options=storage_options,
)

handle = ioargs.filepath_or_buffer
handles: list[BaseBuffer]

# memory mapping needs to be the first step
handle, memory_map, handles = _maybe_memory_map(
handle,
memory_map,
ioargs.encoding,
ioargs.mode,
errors,
ioargs.compression["method"] not in _compression_to_extension,
)

is_path = isinstance(handle, str)
compression_args = dict(ioargs.compression)
compression = compression_args.pop("method")

# Only for write methods
if "r" not in mode and is_path:
check_parent_directory(str(handle))

if compression:
if compression != "zstd":
# compression libraries do not like an explicit text-mode
ioargs.mode = ioargs.mode.replace("t", "")
elif compression == "zstd" and "b" not in ioargs.mode:
# python-zstandard defaults to text mode, but we always expect
# compression libraries to use binary mode.
ioargs.mode += "b"

# GZ Compression
if compression == "gzip":
if is_path:
assert isinstance(handle, str)
# error: Incompatible types in assignment (expression has type
# "GzipFile", variable has type "Union[str, BaseBuffer]")
handle = gzip.GzipFile( # type: ignore[assignment]
filename=handle,
mode=ioargs.mode,
**compression_args,
)
else:
handle = gzip.GzipFile(
# No overload variant of "GzipFile" matches argument types
# "Union[str, BaseBuffer]", "str", "Dict[str, Any]"
fileobj=handle, # type: ignore[call-overload]
mode=ioargs.mode,
**compression_args,
)

# BZ Compression
elif compression == "bz2":
# No overload variant of "BZ2File" matches argument types
# "Union[str, BaseBuffer]", "str", "Dict[str, Any]"
handle = bz2.BZ2File( # type: ignore[call-overload]
handle,
mode=ioargs.mode,
**compression_args,
)

# ZIP Compression
elif compression == "zip":
# error: Argument 1 to "_BytesZipFile" has incompatible type "Union[str,
# BaseBuffer]"; expected "Union[Union[str, PathLike[str]],
# ReadBuffer[bytes], WriteBuffer[bytes]]"
handle = _BytesZipFile(
handle, ioargs.mode, **compression_args # type: ignore[arg-type]
)
if handle.mode == "r":
handles.append(handle)
zip_names = handle.namelist()
if len(zip_names) == 1:
handle = handle.open(zip_names.pop())
elif len(zip_names) == 0:
raise ValueError(f"Zero files found in ZIP file {path_or_buf}")
else:
raise ValueError(
"Multiple files found in ZIP file. "
f"Only one file per ZIP: {zip_names}"
)

# XZ Compression
elif compression == "xz":
handle = get_lzma_file()(handle, ioargs.mode)

# Zstd Compression
elif compression == "zstd":
zstd = import_optional_dependency("zstandard")
if "r" in ioargs.mode:
open_args = {"dctx": zstd.ZstdDecompressor(**compression_args)}
else:
open_args = {"cctx": zstd.ZstdCompressor(**compression_args)}
handle = zstd.open(
handle,
mode=ioargs.mode,
**open_args,
)

# Unrecognized Compression
else:
msg = f"Unrecognized compression type: {compression}"
raise ValueError(msg)

assert not isinstance(handle, str)
handles.append(handle)

elif isinstance(handle, str):
# Check whether the filename is to be opened in binary mode.
# Binary mode does not support 'encoding' and 'newline'.
if ioargs.encoding and "b" not in ioargs.mode:
# Encoding
> handle = open(
handle,
ioargs.mode,
encoding=ioargs.encoding,
errors=errors,
newline="",
)
E FileNotFoundError: [Errno 2] No such file or directory: 'Orders_and_Payment_Flow_Certification.csv'

c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\common.py:789: FileNotFoundError
-------------------------------Captured log call--------------------------------
INFO  setup:test_orders_and_payment_flow.py:46 Total URL Present is: 5
Failed test_orders_and_payment_flow.py::TestOrderAndPaymentFlowCertificationProgram::test_Orders_and_Payment_Flow_certification[N] 0.00
self = <test_orders_and_payment_flow.TestOrderAndPaymentFlowCertificationProgram object at 0x0000020BE106DEE0>, value = 'N', initialize_pages = None
testdata = {'contact_no': '123456789', 'country': ['in', 'us', 'gb', 'au', 'de', 'sg', ...], 'db_type': 'mysql', 'dynamo_db_type': 'dynamo', ...}

@pytest.mark.test_details("0000","high","Order and Payment Flow","Pradeep")
@pytest.mark.parametrize("value", certification_program_course_read_csv())
def test_Orders_and_Payment_Flow_certification(self,value,initialize_pages,testdata):

'''
Objective: Make payment and validate the data in Dynamo db and mySql

Step 01: get url
Step 02: click on Enroll Now CTA
Step 03: Make payment
Step 04: Validate the Dynamo db and MySql daya for the payment
'''
self.add_rows_in_csv('Report.csv')
url_count = self._count_url_txt_file_subdomain('Orders_and_Payment_Flow_Certification.txt')
logging.info(f"Total URL Present is: {url_count}")

# Step 01: get url
counter = 0
> df = pd.read_csv('Orders_and_Payment_Flow_Certification.csv', on_bad_lines='skip')

test_prod\test_orders_and_payment_flow.py:50:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\util\_decorators.py:311: in wrapper
return func(*args, **kwargs)
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\parsers\readers.py:680: in read_csv
return _read(filepath_or_buffer, kwds)
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\parsers\readers.py:575: in _read
parser = TextFileReader(filepath_or_buffer, **kwds)
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\parsers\readers.py:933: in __init__
self._engine = self._make_engine(f, self.engine)
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\parsers\readers.py:1217: in _make_engine
self.handles = get_handle( # type: ignore[call-overload]
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

path_or_buf = 'Orders_and_Payment_Flow_Certification.csv', mode = 'r'

@doc(compression_options=_shared_docs["compression_options"] % "path_or_buf")
def get_handle(
path_or_buf: FilePath | BaseBuffer,
mode: str,
*,
encoding: str | None = None,
compression: CompressionOptions = None,
memory_map: bool = False,
is_text: bool = True,
errors: str | None = None,
storage_options: StorageOptions = None,
) -> IOHandles[str] | IOHandles[bytes]:
"""
Get file handle for given path/buffer and mode.

Parameters
----------
path_or_buf : str or file handle
File path or object.
mode : str
Mode to open path_or_buf with.
encoding : str or None
Encoding to use.
{compression_options}

.. versionchanged:: 1.0.0
May now be a dict with key 'method' as compression mode
and other keys as compression options if compression
mode is 'zip'.

.. versionchanged:: 1.1.0
Passing compression options as keys in dict is now
supported for compression modes 'gzip', 'bz2', 'zstd' and 'zip'.

.. versionchanged:: 1.4.0 Zstandard support.

memory_map : bool, default False
See parsers._parser_params for more information.
is_text : bool, default True
Whether the type of the content passed to the file/buffer is string or
bytes. This is not the same as `"b" not in mode`. If a string content is
passed to a binary file/buffer, a wrapper is inserted.
errors : str, default 'strict'
Specifies how encoding and decoding errors are to be handled.
See the errors argument for :func:`open` for a full list
of options.
storage_options: StorageOptions = None
Passed to _get_filepath_or_buffer

.. versionchanged:: 1.2.0

Returns the dataclass IOHandles
"""
# Windows does not default to utf-8. Set to utf-8 for a consistent behavior
encoding = encoding or "utf-8"

# read_csv does not know whether the buffer is opened in binary/text mode
if _is_binary_mode(path_or_buf, mode) and "b" not in mode:
mode += "b"

# validate encoding and errors
codecs.lookup(encoding)
if isinstance(errors, str):
codecs.lookup_error(errors)

# open URLs
ioargs = _get_filepath_or_buffer(
path_or_buf,
encoding=encoding,
compression=compression,
mode=mode,
storage_options=storage_options,
)

handle = ioargs.filepath_or_buffer
handles: list[BaseBuffer]

# memory mapping needs to be the first step
handle, memory_map, handles = _maybe_memory_map(
handle,
memory_map,
ioargs.encoding,
ioargs.mode,
errors,
ioargs.compression["method"] not in _compression_to_extension,
)

is_path = isinstance(handle, str)
compression_args = dict(ioargs.compression)
compression = compression_args.pop("method")

# Only for write methods
if "r" not in mode and is_path:
check_parent_directory(str(handle))

if compression:
if compression != "zstd":
# compression libraries do not like an explicit text-mode
ioargs.mode = ioargs.mode.replace("t", "")
elif compression == "zstd" and "b" not in ioargs.mode:
# python-zstandard defaults to text mode, but we always expect
# compression libraries to use binary mode.
ioargs.mode += "b"

# GZ Compression
if compression == "gzip":
if is_path:
assert isinstance(handle, str)
# error: Incompatible types in assignment (expression has type
# "GzipFile", variable has type "Union[str, BaseBuffer]")
handle = gzip.GzipFile( # type: ignore[assignment]
filename=handle,
mode=ioargs.mode,
**compression_args,
)
else:
handle = gzip.GzipFile(
# No overload variant of "GzipFile" matches argument types
# "Union[str, BaseBuffer]", "str", "Dict[str, Any]"
fileobj=handle, # type: ignore[call-overload]
mode=ioargs.mode,
**compression_args,
)

# BZ Compression
elif compression == "bz2":
# No overload variant of "BZ2File" matches argument types
# "Union[str, BaseBuffer]", "str", "Dict[str, Any]"
handle = bz2.BZ2File( # type: ignore[call-overload]
handle,
mode=ioargs.mode,
**compression_args,
)

# ZIP Compression
elif compression == "zip":
# error: Argument 1 to "_BytesZipFile" has incompatible type "Union[str,
# BaseBuffer]"; expected "Union[Union[str, PathLike[str]],
# ReadBuffer[bytes], WriteBuffer[bytes]]"
handle = _BytesZipFile(
handle, ioargs.mode, **compression_args # type: ignore[arg-type]
)
if handle.mode == "r":
handles.append(handle)
zip_names = handle.namelist()
if len(zip_names) == 1:
handle = handle.open(zip_names.pop())
elif len(zip_names) == 0:
raise ValueError(f"Zero files found in ZIP file {path_or_buf}")
else:
raise ValueError(
"Multiple files found in ZIP file. "
f"Only one file per ZIP: {zip_names}"
)

# XZ Compression
elif compression == "xz":
handle = get_lzma_file()(handle, ioargs.mode)

# Zstd Compression
elif compression == "zstd":
zstd = import_optional_dependency("zstandard")
if "r" in ioargs.mode:
open_args = {"dctx": zstd.ZstdDecompressor(**compression_args)}
else:
open_args = {"cctx": zstd.ZstdCompressor(**compression_args)}
handle = zstd.open(
handle,
mode=ioargs.mode,
**open_args,
)

# Unrecognized Compression
else:
msg = f"Unrecognized compression type: {compression}"
raise ValueError(msg)

assert not isinstance(handle, str)
handles.append(handle)

elif isinstance(handle, str):
# Check whether the filename is to be opened in binary mode.
# Binary mode does not support 'encoding' and 'newline'.
if ioargs.encoding and "b" not in ioargs.mode:
# Encoding
> handle = open(
handle,
ioargs.mode,
encoding=ioargs.encoding,
errors=errors,
newline="",
)
E FileNotFoundError: [Errno 2] No such file or directory: 'Orders_and_Payment_Flow_Certification.csv'

c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\common.py:789: FileNotFoundError
-------------------------------Captured log call--------------------------------
INFO  setup:test_orders_and_payment_flow.py:46 Total URL Present is: 5
Failed test_orders_and_payment_flow.py::TestOrderAndPaymentFlowCertificationProgram::test_Orders_and_Payment_Flow_certification[O] 0.00
self = <test_orders_and_payment_flow.TestOrderAndPaymentFlowCertificationProgram object at 0x0000020BE1040820>, value = 'O', initialize_pages = None
testdata = {'contact_no': '123456789', 'country': ['in', 'us', 'gb', 'au', 'de', 'sg', ...], 'db_type': 'mysql', 'dynamo_db_type': 'dynamo', ...}

@pytest.mark.test_details("0000","high","Order and Payment Flow","Pradeep")
@pytest.mark.parametrize("value", certification_program_course_read_csv())
def test_Orders_and_Payment_Flow_certification(self,value,initialize_pages,testdata):

'''
Objective: Make payment and validate the data in Dynamo db and mySql

Step 01: get url
Step 02: click on Enroll Now CTA
Step 03: Make payment
Step 04: Validate the Dynamo db and MySql daya for the payment
'''
self.add_rows_in_csv('Report.csv')
url_count = self._count_url_txt_file_subdomain('Orders_and_Payment_Flow_Certification.txt')
logging.info(f"Total URL Present is: {url_count}")

# Step 01: get url
counter = 0
> df = pd.read_csv('Orders_and_Payment_Flow_Certification.csv', on_bad_lines='skip')

test_prod\test_orders_and_payment_flow.py:50:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\util\_decorators.py:311: in wrapper
return func(*args, **kwargs)
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\parsers\readers.py:680: in read_csv
return _read(filepath_or_buffer, kwds)
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\parsers\readers.py:575: in _read
parser = TextFileReader(filepath_or_buffer, **kwds)
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\parsers\readers.py:933: in __init__
self._engine = self._make_engine(f, self.engine)
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\parsers\readers.py:1217: in _make_engine
self.handles = get_handle( # type: ignore[call-overload]
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

path_or_buf = 'Orders_and_Payment_Flow_Certification.csv', mode = 'r'

@doc(compression_options=_shared_docs["compression_options"] % "path_or_buf")
def get_handle(
path_or_buf: FilePath | BaseBuffer,
mode: str,
*,
encoding: str | None = None,
compression: CompressionOptions = None,
memory_map: bool = False,
is_text: bool = True,
errors: str | None = None,
storage_options: StorageOptions = None,
) -> IOHandles[str] | IOHandles[bytes]:
"""
Get file handle for given path/buffer and mode.

Parameters
----------
path_or_buf : str or file handle
File path or object.
mode : str
Mode to open path_or_buf with.
encoding : str or None
Encoding to use.
{compression_options}

.. versionchanged:: 1.0.0
May now be a dict with key 'method' as compression mode
and other keys as compression options if compression
mode is 'zip'.

.. versionchanged:: 1.1.0
Passing compression options as keys in dict is now
supported for compression modes 'gzip', 'bz2', 'zstd' and 'zip'.

.. versionchanged:: 1.4.0 Zstandard support.

memory_map : bool, default False
See parsers._parser_params for more information.
is_text : bool, default True
Whether the type of the content passed to the file/buffer is string or
bytes. This is not the same as `"b" not in mode`. If a string content is
passed to a binary file/buffer, a wrapper is inserted.
errors : str, default 'strict'
Specifies how encoding and decoding errors are to be handled.
See the errors argument for :func:`open` for a full list
of options.
storage_options: StorageOptions = None
Passed to _get_filepath_or_buffer

.. versionchanged:: 1.2.0

Returns the dataclass IOHandles
"""
# Windows does not default to utf-8. Set to utf-8 for a consistent behavior
encoding = encoding or "utf-8"

# read_csv does not know whether the buffer is opened in binary/text mode
if _is_binary_mode(path_or_buf, mode) and "b" not in mode:
mode += "b"

# validate encoding and errors
codecs.lookup(encoding)
if isinstance(errors, str):
codecs.lookup_error(errors)

# open URLs
ioargs = _get_filepath_or_buffer(
path_or_buf,
encoding=encoding,
compression=compression,
mode=mode,
storage_options=storage_options,
)

handle = ioargs.filepath_or_buffer
handles: list[BaseBuffer]

# memory mapping needs to be the first step
handle, memory_map, handles = _maybe_memory_map(
handle,
memory_map,
ioargs.encoding,
ioargs.mode,
errors,
ioargs.compression["method"] not in _compression_to_extension,
)

is_path = isinstance(handle, str)
compression_args = dict(ioargs.compression)
compression = compression_args.pop("method")

# Only for write methods
if "r" not in mode and is_path:
check_parent_directory(str(handle))

if compression:
if compression != "zstd":
# compression libraries do not like an explicit text-mode
ioargs.mode = ioargs.mode.replace("t", "")
elif compression == "zstd" and "b" not in ioargs.mode:
# python-zstandard defaults to text mode, but we always expect
# compression libraries to use binary mode.
ioargs.mode += "b"

# GZ Compression
if compression == "gzip":
if is_path:
assert isinstance(handle, str)
# error: Incompatible types in assignment (expression has type
# "GzipFile", variable has type "Union[str, BaseBuffer]")
handle = gzip.GzipFile( # type: ignore[assignment]
filename=handle,
mode=ioargs.mode,
**compression_args,
)
else:
handle = gzip.GzipFile(
# No overload variant of "GzipFile" matches argument types
# "Union[str, BaseBuffer]", "str", "Dict[str, Any]"
fileobj=handle, # type: ignore[call-overload]
mode=ioargs.mode,
**compression_args,
)

# BZ Compression
elif compression == "bz2":
# No overload variant of "BZ2File" matches argument types
# "Union[str, BaseBuffer]", "str", "Dict[str, Any]"
handle = bz2.BZ2File( # type: ignore[call-overload]
handle,
mode=ioargs.mode,
**compression_args,
)

# ZIP Compression
elif compression == "zip":
# error: Argument 1 to "_BytesZipFile" has incompatible type "Union[str,
# BaseBuffer]"; expected "Union[Union[str, PathLike[str]],
# ReadBuffer[bytes], WriteBuffer[bytes]]"
handle = _BytesZipFile(
handle, ioargs.mode, **compression_args # type: ignore[arg-type]
)
if handle.mode == "r":
handles.append(handle)
zip_names = handle.namelist()
if len(zip_names) == 1:
handle = handle.open(zip_names.pop())
elif len(zip_names) == 0:
raise ValueError(f"Zero files found in ZIP file {path_or_buf}")
else:
raise ValueError(
"Multiple files found in ZIP file. "
f"Only one file per ZIP: {zip_names}"
)

# XZ Compression
elif compression == "xz":
handle = get_lzma_file()(handle, ioargs.mode)

# Zstd Compression
elif compression == "zstd":
zstd = import_optional_dependency("zstandard")
if "r" in ioargs.mode:
open_args = {"dctx": zstd.ZstdDecompressor(**compression_args)}
else:
open_args = {"cctx": zstd.ZstdCompressor(**compression_args)}
handle = zstd.open(
handle,
mode=ioargs.mode,
**open_args,
)

# Unrecognized Compression
else:
msg = f"Unrecognized compression type: {compression}"
raise ValueError(msg)

assert not isinstance(handle, str)
handles.append(handle)

elif isinstance(handle, str):
# Check whether the filename is to be opened in binary mode.
# Binary mode does not support 'encoding' and 'newline'.
if ioargs.encoding and "b" not in ioargs.mode:
# Encoding
> handle = open(
handle,
ioargs.mode,
encoding=ioargs.encoding,
errors=errors,
newline="",
)
E FileNotFoundError: [Errno 2] No such file or directory: 'Orders_and_Payment_Flow_Certification.csv'

c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\common.py:789: FileNotFoundError
-------------------------------Captured log call--------------------------------
INFO  setup:test_orders_and_payment_flow.py:46 Total URL Present is: 5
Failed test_orders_and_payment_flow.py::TestOrderAndPaymentFlowCertificationProgram::test_Orders_and_Payment_Flow_certification[P] 0.01
self = <test_orders_and_payment_flow.TestOrderAndPaymentFlowCertificationProgram object at 0x0000020BE1072BE0>, value = 'P', initialize_pages = None
testdata = {'contact_no': '123456789', 'country': ['in', 'us', 'gb', 'au', 'de', 'sg', ...], 'db_type': 'mysql', 'dynamo_db_type': 'dynamo', ...}

@pytest.mark.test_details("0000","high","Order and Payment Flow","Pradeep")
@pytest.mark.parametrize("value", certification_program_course_read_csv())
def test_Orders_and_Payment_Flow_certification(self,value,initialize_pages,testdata):

'''
Objective: Make payment and validate the data in Dynamo db and mySql

Step 01: get url
Step 02: click on Enroll Now CTA
Step 03: Make payment
Step 04: Validate the Dynamo db and MySql daya for the payment
'''
self.add_rows_in_csv('Report.csv')
url_count = self._count_url_txt_file_subdomain('Orders_and_Payment_Flow_Certification.txt')
logging.info(f"Total URL Present is: {url_count}")

# Step 01: get url
counter = 0
> df = pd.read_csv('Orders_and_Payment_Flow_Certification.csv', on_bad_lines='skip')

test_prod\test_orders_and_payment_flow.py:50:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\util\_decorators.py:311: in wrapper
return func(*args, **kwargs)
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\parsers\readers.py:680: in read_csv
return _read(filepath_or_buffer, kwds)
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\parsers\readers.py:575: in _read
parser = TextFileReader(filepath_or_buffer, **kwds)
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\parsers\readers.py:933: in __init__
self._engine = self._make_engine(f, self.engine)
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\parsers\readers.py:1217: in _make_engine
self.handles = get_handle( # type: ignore[call-overload]
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

path_or_buf = 'Orders_and_Payment_Flow_Certification.csv', mode = 'r'

@doc(compression_options=_shared_docs["compression_options"] % "path_or_buf")
def get_handle(
path_or_buf: FilePath | BaseBuffer,
mode: str,
*,
encoding: str | None = None,
compression: CompressionOptions = None,
memory_map: bool = False,
is_text: bool = True,
errors: str | None = None,
storage_options: StorageOptions = None,
) -> IOHandles[str] | IOHandles[bytes]:
"""
Get file handle for given path/buffer and mode.

Parameters
----------
path_or_buf : str or file handle
File path or object.
mode : str
Mode to open path_or_buf with.
encoding : str or None
Encoding to use.
{compression_options}

.. versionchanged:: 1.0.0
May now be a dict with key 'method' as compression mode
and other keys as compression options if compression
mode is 'zip'.

.. versionchanged:: 1.1.0
Passing compression options as keys in dict is now
supported for compression modes 'gzip', 'bz2', 'zstd' and 'zip'.

.. versionchanged:: 1.4.0 Zstandard support.

memory_map : bool, default False
See parsers._parser_params for more information.
is_text : bool, default True
Whether the type of the content passed to the file/buffer is string or
bytes. This is not the same as `"b" not in mode`. If a string content is
passed to a binary file/buffer, a wrapper is inserted.
errors : str, default 'strict'
Specifies how encoding and decoding errors are to be handled.
See the errors argument for :func:`open` for a full list
of options.
storage_options: StorageOptions = None
Passed to _get_filepath_or_buffer

.. versionchanged:: 1.2.0

Returns the dataclass IOHandles
"""
# Windows does not default to utf-8. Set to utf-8 for a consistent behavior
encoding = encoding or "utf-8"

# read_csv does not know whether the buffer is opened in binary/text mode
if _is_binary_mode(path_or_buf, mode) and "b" not in mode:
mode += "b"

# validate encoding and errors
codecs.lookup(encoding)
if isinstance(errors, str):
codecs.lookup_error(errors)

# open URLs
ioargs = _get_filepath_or_buffer(
path_or_buf,
encoding=encoding,
compression=compression,
mode=mode,
storage_options=storage_options,
)

handle = ioargs.filepath_or_buffer
handles: list[BaseBuffer]

# memory mapping needs to be the first step
handle, memory_map, handles = _maybe_memory_map(
handle,
memory_map,
ioargs.encoding,
ioargs.mode,
errors,
ioargs.compression["method"] not in _compression_to_extension,
)

is_path = isinstance(handle, str)
compression_args = dict(ioargs.compression)
compression = compression_args.pop("method")

# Only for write methods
if "r" not in mode and is_path:
check_parent_directory(str(handle))

if compression:
if compression != "zstd":
# compression libraries do not like an explicit text-mode
ioargs.mode = ioargs.mode.replace("t", "")
elif compression == "zstd" and "b" not in ioargs.mode:
# python-zstandard defaults to text mode, but we always expect
# compression libraries to use binary mode.
ioargs.mode += "b"

# GZ Compression
if compression == "gzip":
if is_path:
assert isinstance(handle, str)
# error: Incompatible types in assignment (expression has type
# "GzipFile", variable has type "Union[str, BaseBuffer]")
handle = gzip.GzipFile( # type: ignore[assignment]
filename=handle,
mode=ioargs.mode,
**compression_args,
)
else:
handle = gzip.GzipFile(
# No overload variant of "GzipFile" matches argument types
# "Union[str, BaseBuffer]", "str", "Dict[str, Any]"
fileobj=handle, # type: ignore[call-overload]
mode=ioargs.mode,
**compression_args,
)

# BZ Compression
elif compression == "bz2":
# No overload variant of "BZ2File" matches argument types
# "Union[str, BaseBuffer]", "str", "Dict[str, Any]"
handle = bz2.BZ2File( # type: ignore[call-overload]
handle,
mode=ioargs.mode,
**compression_args,
)

# ZIP Compression
elif compression == "zip":
# error: Argument 1 to "_BytesZipFile" has incompatible type "Union[str,
# BaseBuffer]"; expected "Union[Union[str, PathLike[str]],
# ReadBuffer[bytes], WriteBuffer[bytes]]"
handle = _BytesZipFile(
handle, ioargs.mode, **compression_args # type: ignore[arg-type]
)
if handle.mode == "r":
handles.append(handle)
zip_names = handle.namelist()
if len(zip_names) == 1:
handle = handle.open(zip_names.pop())
elif len(zip_names) == 0:
raise ValueError(f"Zero files found in ZIP file {path_or_buf}")
else:
raise ValueError(
"Multiple files found in ZIP file. "
f"Only one file per ZIP: {zip_names}"
)

# XZ Compression
elif compression == "xz":
handle = get_lzma_file()(handle, ioargs.mode)

# Zstd Compression
elif compression == "zstd":
zstd = import_optional_dependency("zstandard")
if "r" in ioargs.mode:
open_args = {"dctx": zstd.ZstdDecompressor(**compression_args)}
else:
open_args = {"cctx": zstd.ZstdCompressor(**compression_args)}
handle = zstd.open(
handle,
mode=ioargs.mode,
**open_args,
)

# Unrecognized Compression
else:
msg = f"Unrecognized compression type: {compression}"
raise ValueError(msg)

assert not isinstance(handle, str)
handles.append(handle)

elif isinstance(handle, str):
# Check whether the filename is to be opened in binary mode.
# Binary mode does not support 'encoding' and 'newline'.
if ioargs.encoding and "b" not in ioargs.mode:
# Encoding
> handle = open(
handle,
ioargs.mode,
encoding=ioargs.encoding,
errors=errors,
newline="",
)
E FileNotFoundError: [Errno 2] No such file or directory: 'Orders_and_Payment_Flow_Certification.csv'

c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\common.py:789: FileNotFoundError
-------------------------------Captured log call--------------------------------
INFO  setup:test_orders_and_payment_flow.py:46 Total URL Present is: 5
Failed test_orders_and_payment_flow.py::TestOrderAndPaymentFlowCertificationProgram::test_Orders_and_Payment_Flow_certification[Q] 0.00
self = <test_orders_and_payment_flow.TestOrderAndPaymentFlowCertificationProgram object at 0x0000020BE1013520>, value = 'Q', initialize_pages = None
testdata = {'contact_no': '123456789', 'country': ['in', 'us', 'gb', 'au', 'de', 'sg', ...], 'db_type': 'mysql', 'dynamo_db_type': 'dynamo', ...}

@pytest.mark.test_details("0000","high","Order and Payment Flow","Pradeep")
@pytest.mark.parametrize("value", certification_program_course_read_csv())
def test_Orders_and_Payment_Flow_certification(self,value,initialize_pages,testdata):

'''
Objective: Make payment and validate the data in Dynamo db and mySql

Step 01: get url
Step 02: click on Enroll Now CTA
Step 03: Make payment
Step 04: Validate the Dynamo db and MySql daya for the payment
'''
self.add_rows_in_csv('Report.csv')
url_count = self._count_url_txt_file_subdomain('Orders_and_Payment_Flow_Certification.txt')
logging.info(f"Total URL Present is: {url_count}")

# Step 01: get url
counter = 0
> df = pd.read_csv('Orders_and_Payment_Flow_Certification.csv', on_bad_lines='skip')

test_prod\test_orders_and_payment_flow.py:50:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\util\_decorators.py:311: in wrapper
return func(*args, **kwargs)
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\parsers\readers.py:680: in read_csv
return _read(filepath_or_buffer, kwds)
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\parsers\readers.py:575: in _read
parser = TextFileReader(filepath_or_buffer, **kwds)
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\parsers\readers.py:933: in __init__
self._engine = self._make_engine(f, self.engine)
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\parsers\readers.py:1217: in _make_engine
self.handles = get_handle( # type: ignore[call-overload]
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

path_or_buf = 'Orders_and_Payment_Flow_Certification.csv', mode = 'r'

@doc(compression_options=_shared_docs["compression_options"] % "path_or_buf")
def get_handle(
path_or_buf: FilePath | BaseBuffer,
mode: str,
*,
encoding: str | None = None,
compression: CompressionOptions = None,
memory_map: bool = False,
is_text: bool = True,
errors: str | None = None,
storage_options: StorageOptions = None,
) -> IOHandles[str] | IOHandles[bytes]:
"""
Get file handle for given path/buffer and mode.

Parameters
----------
path_or_buf : str or file handle
File path or object.
mode : str
Mode to open path_or_buf with.
encoding : str or None
Encoding to use.
{compression_options}

.. versionchanged:: 1.0.0
May now be a dict with key 'method' as compression mode
and other keys as compression options if compression
mode is 'zip'.

.. versionchanged:: 1.1.0
Passing compression options as keys in dict is now
supported for compression modes 'gzip', 'bz2', 'zstd' and 'zip'.

.. versionchanged:: 1.4.0 Zstandard support.

memory_map : bool, default False
See parsers._parser_params for more information.
is_text : bool, default True
Whether the type of the content passed to the file/buffer is string or
bytes. This is not the same as `"b" not in mode`. If a string content is
passed to a binary file/buffer, a wrapper is inserted.
errors : str, default 'strict'
Specifies how encoding and decoding errors are to be handled.
See the errors argument for :func:`open` for a full list
of options.
storage_options: StorageOptions = None
Passed to _get_filepath_or_buffer

.. versionchanged:: 1.2.0

Returns the dataclass IOHandles
"""
# Windows does not default to utf-8. Set to utf-8 for a consistent behavior
encoding = encoding or "utf-8"

# read_csv does not know whether the buffer is opened in binary/text mode
if _is_binary_mode(path_or_buf, mode) and "b" not in mode:
mode += "b"

# validate encoding and errors
codecs.lookup(encoding)
if isinstance(errors, str):
codecs.lookup_error(errors)

# open URLs
ioargs = _get_filepath_or_buffer(
path_or_buf,
encoding=encoding,
compression=compression,
mode=mode,
storage_options=storage_options,
)

handle = ioargs.filepath_or_buffer
handles: list[BaseBuffer]

# memory mapping needs to be the first step
handle, memory_map, handles = _maybe_memory_map(
handle,
memory_map,
ioargs.encoding,
ioargs.mode,
errors,
ioargs.compression["method"] not in _compression_to_extension,
)

is_path = isinstance(handle, str)
compression_args = dict(ioargs.compression)
compression = compression_args.pop("method")

# Only for write methods
if "r" not in mode and is_path:
check_parent_directory(str(handle))

if compression:
if compression != "zstd":
# compression libraries do not like an explicit text-mode
ioargs.mode = ioargs.mode.replace("t", "")
elif compression == "zstd" and "b" not in ioargs.mode:
# python-zstandard defaults to text mode, but we always expect
# compression libraries to use binary mode.
ioargs.mode += "b"

# GZ Compression
if compression == "gzip":
if is_path:
assert isinstance(handle, str)
# error: Incompatible types in assignment (expression has type
# "GzipFile", variable has type "Union[str, BaseBuffer]")
handle = gzip.GzipFile( # type: ignore[assignment]
filename=handle,
mode=ioargs.mode,
**compression_args,
)
else:
handle = gzip.GzipFile(
# No overload variant of "GzipFile" matches argument types
# "Union[str, BaseBuffer]", "str", "Dict[str, Any]"
fileobj=handle, # type: ignore[call-overload]
mode=ioargs.mode,
**compression_args,
)

# BZ Compression
elif compression == "bz2":
# No overload variant of "BZ2File" matches argument types
# "Union[str, BaseBuffer]", "str", "Dict[str, Any]"
handle = bz2.BZ2File( # type: ignore[call-overload]
handle,
mode=ioargs.mode,
**compression_args,
)

# ZIP Compression
elif compression == "zip":
# error: Argument 1 to "_BytesZipFile" has incompatible type "Union[str,
# BaseBuffer]"; expected "Union[Union[str, PathLike[str]],
# ReadBuffer[bytes], WriteBuffer[bytes]]"
handle = _BytesZipFile(
handle, ioargs.mode, **compression_args # type: ignore[arg-type]
)
if handle.mode == "r":
handles.append(handle)
zip_names = handle.namelist()
if len(zip_names) == 1:
handle = handle.open(zip_names.pop())
elif len(zip_names) == 0:
raise ValueError(f"Zero files found in ZIP file {path_or_buf}")
else:
raise ValueError(
"Multiple files found in ZIP file. "
f"Only one file per ZIP: {zip_names}"
)

# XZ Compression
elif compression == "xz":
handle = get_lzma_file()(handle, ioargs.mode)

# Zstd Compression
elif compression == "zstd":
zstd = import_optional_dependency("zstandard")
if "r" in ioargs.mode:
open_args = {"dctx": zstd.ZstdDecompressor(**compression_args)}
else:
open_args = {"cctx": zstd.ZstdCompressor(**compression_args)}
handle = zstd.open(
handle,
mode=ioargs.mode,
**open_args,
)

# Unrecognized Compression
else:
msg = f"Unrecognized compression type: {compression}"
raise ValueError(msg)

assert not isinstance(handle, str)
handles.append(handle)

elif isinstance(handle, str):
# Check whether the filename is to be opened in binary mode.
# Binary mode does not support 'encoding' and 'newline'.
if ioargs.encoding and "b" not in ioargs.mode:
# Encoding
> handle = open(
handle,
ioargs.mode,
encoding=ioargs.encoding,
errors=errors,
newline="",
)
E FileNotFoundError: [Errno 2] No such file or directory: 'Orders_and_Payment_Flow_Certification.csv'

c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\common.py:789: FileNotFoundError
-------------------------------Captured log call--------------------------------
INFO  setup:test_orders_and_payment_flow.py:46 Total URL Present is: 5
Failed test_orders_and_payment_flow.py::TestOrderAndPaymentFlowCertificationProgram::test_Orders_and_Payment_Flow_certification[R] 0.00
self = <test_orders_and_payment_flow.TestOrderAndPaymentFlowCertificationProgram object at 0x0000020BE1183880>, value = 'R', initialize_pages = None
testdata = {'contact_no': '123456789', 'country': ['in', 'us', 'gb', 'au', 'de', 'sg', ...], 'db_type': 'mysql', 'dynamo_db_type': 'dynamo', ...}

@pytest.mark.test_details("0000","high","Order and Payment Flow","Pradeep")
@pytest.mark.parametrize("value", certification_program_course_read_csv())
def test_Orders_and_Payment_Flow_certification(self,value,initialize_pages,testdata):

'''
Objective: Make payment and validate the data in Dynamo db and mySql

Step 01: get url
Step 02: click on Enroll Now CTA
Step 03: Make payment
Step 04: Validate the Dynamo db and MySql daya for the payment
'''
self.add_rows_in_csv('Report.csv')
url_count = self._count_url_txt_file_subdomain('Orders_and_Payment_Flow_Certification.txt')
logging.info(f"Total URL Present is: {url_count}")

# Step 01: get url
counter = 0
> df = pd.read_csv('Orders_and_Payment_Flow_Certification.csv', on_bad_lines='skip')

test_prod\test_orders_and_payment_flow.py:50:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\util\_decorators.py:311: in wrapper
return func(*args, **kwargs)
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\parsers\readers.py:680: in read_csv
return _read(filepath_or_buffer, kwds)
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\parsers\readers.py:575: in _read
parser = TextFileReader(filepath_or_buffer, **kwds)
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\parsers\readers.py:933: in __init__
self._engine = self._make_engine(f, self.engine)
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\parsers\readers.py:1217: in _make_engine
self.handles = get_handle( # type: ignore[call-overload]
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

path_or_buf = 'Orders_and_Payment_Flow_Certification.csv', mode = 'r'

@doc(compression_options=_shared_docs["compression_options"] % "path_or_buf")
def get_handle(
path_or_buf: FilePath | BaseBuffer,
mode: str,
*,
encoding: str | None = None,
compression: CompressionOptions = None,
memory_map: bool = False,
is_text: bool = True,
errors: str | None = None,
storage_options: StorageOptions = None,
) -> IOHandles[str] | IOHandles[bytes]:
"""
Get file handle for given path/buffer and mode.

Parameters
----------
path_or_buf : str or file handle
File path or object.
mode : str
Mode to open path_or_buf with.
encoding : str or None
Encoding to use.
{compression_options}

.. versionchanged:: 1.0.0
May now be a dict with key 'method' as compression mode
and other keys as compression options if compression
mode is 'zip'.

.. versionchanged:: 1.1.0
Passing compression options as keys in dict is now
supported for compression modes 'gzip', 'bz2', 'zstd' and 'zip'.

.. versionchanged:: 1.4.0 Zstandard support.

memory_map : bool, default False
See parsers._parser_params for more information.
is_text : bool, default True
Whether the type of the content passed to the file/buffer is string or
bytes. This is not the same as `"b" not in mode`. If a string content is
passed to a binary file/buffer, a wrapper is inserted.
errors : str, default 'strict'
Specifies how encoding and decoding errors are to be handled.
See the errors argument for :func:`open` for a full list
of options.
storage_options: StorageOptions = None
Passed to _get_filepath_or_buffer

.. versionchanged:: 1.2.0

Returns the dataclass IOHandles
"""
# Windows does not default to utf-8. Set to utf-8 for a consistent behavior
encoding = encoding or "utf-8"

# read_csv does not know whether the buffer is opened in binary/text mode
if _is_binary_mode(path_or_buf, mode) and "b" not in mode:
mode += "b"

# validate encoding and errors
codecs.lookup(encoding)
if isinstance(errors, str):
codecs.lookup_error(errors)

# open URLs
ioargs = _get_filepath_or_buffer(
path_or_buf,
encoding=encoding,
compression=compression,
mode=mode,
storage_options=storage_options,
)

handle = ioargs.filepath_or_buffer
handles: list[BaseBuffer]

# memory mapping needs to be the first step
handle, memory_map, handles = _maybe_memory_map(
handle,
memory_map,
ioargs.encoding,
ioargs.mode,
errors,
ioargs.compression["method"] not in _compression_to_extension,
)

is_path = isinstance(handle, str)
compression_args = dict(ioargs.compression)
compression = compression_args.pop("method")

# Only for write methods
if "r" not in mode and is_path:
check_parent_directory(str(handle))

if compression:
if compression != "zstd":
# compression libraries do not like an explicit text-mode
ioargs.mode = ioargs.mode.replace("t", "")
elif compression == "zstd" and "b" not in ioargs.mode:
# python-zstandard defaults to text mode, but we always expect
# compression libraries to use binary mode.
ioargs.mode += "b"

# GZ Compression
if compression == "gzip":
if is_path:
assert isinstance(handle, str)
# error: Incompatible types in assignment (expression has type
# "GzipFile", variable has type "Union[str, BaseBuffer]")
handle = gzip.GzipFile( # type: ignore[assignment]
filename=handle,
mode=ioargs.mode,
**compression_args,
)
else:
handle = gzip.GzipFile(
# No overload variant of "GzipFile" matches argument types
# "Union[str, BaseBuffer]", "str", "Dict[str, Any]"
fileobj=handle, # type: ignore[call-overload]
mode=ioargs.mode,
**compression_args,
)

# BZ Compression
elif compression == "bz2":
# No overload variant of "BZ2File" matches argument types
# "Union[str, BaseBuffer]", "str", "Dict[str, Any]"
handle = bz2.BZ2File( # type: ignore[call-overload]
handle,
mode=ioargs.mode,
**compression_args,
)

# ZIP Compression
elif compression == "zip":
# error: Argument 1 to "_BytesZipFile" has incompatible type "Union[str,
# BaseBuffer]"; expected "Union[Union[str, PathLike[str]],
# ReadBuffer[bytes], WriteBuffer[bytes]]"
handle = _BytesZipFile(
handle, ioargs.mode, **compression_args # type: ignore[arg-type]
)
if handle.mode == "r":
handles.append(handle)
zip_names = handle.namelist()
if len(zip_names) == 1:
handle = handle.open(zip_names.pop())
elif len(zip_names) == 0:
raise ValueError(f"Zero files found in ZIP file {path_or_buf}")
else:
raise ValueError(
"Multiple files found in ZIP file. "
f"Only one file per ZIP: {zip_names}"
)

# XZ Compression
elif compression == "xz":
handle = get_lzma_file()(handle, ioargs.mode)

# Zstd Compression
elif compression == "zstd":
zstd = import_optional_dependency("zstandard")
if "r" in ioargs.mode:
open_args = {"dctx": zstd.ZstdDecompressor(**compression_args)}
else:
open_args = {"cctx": zstd.ZstdCompressor(**compression_args)}
handle = zstd.open(
handle,
mode=ioargs.mode,
**open_args,
)

# Unrecognized Compression
else:
msg = f"Unrecognized compression type: {compression}"
raise ValueError(msg)

assert not isinstance(handle, str)
handles.append(handle)

elif isinstance(handle, str):
# Check whether the filename is to be opened in binary mode.
# Binary mode does not support 'encoding' and 'newline'.
if ioargs.encoding and "b" not in ioargs.mode:
# Encoding
> handle = open(
handle,
ioargs.mode,
encoding=ioargs.encoding,
errors=errors,
newline="",
)
E FileNotFoundError: [Errno 2] No such file or directory: 'Orders_and_Payment_Flow_Certification.csv'

c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\common.py:789: FileNotFoundError
-------------------------------Captured log call--------------------------------
INFO  setup:test_orders_and_payment_flow.py:46 Total URL Present is: 5
Failed test_orders_and_payment_flow.py::TestOrderAndPaymentFlowCertificationProgram::test_Orders_and_Payment_Flow_certification[S] 0.01
self = <test_orders_and_payment_flow.TestOrderAndPaymentFlowCertificationProgram object at 0x0000020BE0F5B340>, value = 'S', initialize_pages = None
testdata = {'contact_no': '123456789', 'country': ['in', 'us', 'gb', 'au', 'de', 'sg', ...], 'db_type': 'mysql', 'dynamo_db_type': 'dynamo', ...}

@pytest.mark.test_details("0000","high","Order and Payment Flow","Pradeep")
@pytest.mark.parametrize("value", certification_program_course_read_csv())
def test_Orders_and_Payment_Flow_certification(self,value,initialize_pages,testdata):

'''
Objective: Make payment and validate the data in Dynamo db and mySql

Step 01: get url
Step 02: click on Enroll Now CTA
Step 03: Make payment
Step 04: Validate the Dynamo db and MySql daya for the payment
'''
self.add_rows_in_csv('Report.csv')
url_count = self._count_url_txt_file_subdomain('Orders_and_Payment_Flow_Certification.txt')
logging.info(f"Total URL Present is: {url_count}")

# Step 01: get url
counter = 0
> df = pd.read_csv('Orders_and_Payment_Flow_Certification.csv', on_bad_lines='skip')

test_prod\test_orders_and_payment_flow.py:50:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\util\_decorators.py:311: in wrapper
return func(*args, **kwargs)
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\parsers\readers.py:680: in read_csv
return _read(filepath_or_buffer, kwds)
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\parsers\readers.py:575: in _read
parser = TextFileReader(filepath_or_buffer, **kwds)
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\parsers\readers.py:933: in __init__
self._engine = self._make_engine(f, self.engine)
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\parsers\readers.py:1217: in _make_engine
self.handles = get_handle( # type: ignore[call-overload]
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

path_or_buf = 'Orders_and_Payment_Flow_Certification.csv', mode = 'r'

@doc(compression_options=_shared_docs["compression_options"] % "path_or_buf")
def get_handle(
path_or_buf: FilePath | BaseBuffer,
mode: str,
*,
encoding: str | None = None,
compression: CompressionOptions = None,
memory_map: bool = False,
is_text: bool = True,
errors: str | None = None,
storage_options: StorageOptions = None,
) -> IOHandles[str] | IOHandles[bytes]:
"""
Get file handle for given path/buffer and mode.

Parameters
----------
path_or_buf : str or file handle
File path or object.
mode : str
Mode to open path_or_buf with.
encoding : str or None
Encoding to use.
{compression_options}

.. versionchanged:: 1.0.0
May now be a dict with key 'method' as compression mode
and other keys as compression options if compression
mode is 'zip'.

.. versionchanged:: 1.1.0
Passing compression options as keys in dict is now
supported for compression modes 'gzip', 'bz2', 'zstd' and 'zip'.

.. versionchanged:: 1.4.0 Zstandard support.

memory_map : bool, default False
See parsers._parser_params for more information.
is_text : bool, default True
Whether the type of the content passed to the file/buffer is string or
bytes. This is not the same as `"b" not in mode`. If a string content is
passed to a binary file/buffer, a wrapper is inserted.
errors : str, default 'strict'
Specifies how encoding and decoding errors are to be handled.
See the errors argument for :func:`open` for a full list
of options.
storage_options: StorageOptions = None
Passed to _get_filepath_or_buffer

.. versionchanged:: 1.2.0

Returns the dataclass IOHandles
"""
# Windows does not default to utf-8. Set to utf-8 for a consistent behavior
encoding = encoding or "utf-8"

# read_csv does not know whether the buffer is opened in binary/text mode
if _is_binary_mode(path_or_buf, mode) and "b" not in mode:
mode += "b"

# validate encoding and errors
codecs.lookup(encoding)
if isinstance(errors, str):
codecs.lookup_error(errors)

# open URLs
ioargs = _get_filepath_or_buffer(
path_or_buf,
encoding=encoding,
compression=compression,
mode=mode,
storage_options=storage_options,
)

handle = ioargs.filepath_or_buffer
handles: list[BaseBuffer]

# memory mapping needs to be the first step
handle, memory_map, handles = _maybe_memory_map(
handle,
memory_map,
ioargs.encoding,
ioargs.mode,
errors,
ioargs.compression["method"] not in _compression_to_extension,
)

is_path = isinstance(handle, str)
compression_args = dict(ioargs.compression)
compression = compression_args.pop("method")

# Only for write methods
if "r" not in mode and is_path:
check_parent_directory(str(handle))

if compression:
if compression != "zstd":
# compression libraries do not like an explicit text-mode
ioargs.mode = ioargs.mode.replace("t", "")
elif compression == "zstd" and "b" not in ioargs.mode:
# python-zstandard defaults to text mode, but we always expect
# compression libraries to use binary mode.
ioargs.mode += "b"

# GZ Compression
if compression == "gzip":
if is_path:
assert isinstance(handle, str)
# error: Incompatible types in assignment (expression has type
# "GzipFile", variable has type "Union[str, BaseBuffer]")
handle = gzip.GzipFile( # type: ignore[assignment]
filename=handle,
mode=ioargs.mode,
**compression_args,
)
else:
handle = gzip.GzipFile(
# No overload variant of "GzipFile" matches argument types
# "Union[str, BaseBuffer]", "str", "Dict[str, Any]"
fileobj=handle, # type: ignore[call-overload]
mode=ioargs.mode,
**compression_args,
)

# BZ Compression
elif compression == "bz2":
# No overload variant of "BZ2File" matches argument types
# "Union[str, BaseBuffer]", "str", "Dict[str, Any]"
handle = bz2.BZ2File( # type: ignore[call-overload]
handle,
mode=ioargs.mode,
**compression_args,
)

# ZIP Compression
elif compression == "zip":
# error: Argument 1 to "_BytesZipFile" has incompatible type "Union[str,
# BaseBuffer]"; expected "Union[Union[str, PathLike[str]],
# ReadBuffer[bytes], WriteBuffer[bytes]]"
handle = _BytesZipFile(
handle, ioargs.mode, **compression_args # type: ignore[arg-type]
)
if handle.mode == "r":
handles.append(handle)
zip_names = handle.namelist()
if len(zip_names) == 1:
handle = handle.open(zip_names.pop())
elif len(zip_names) == 0:
raise ValueError(f"Zero files found in ZIP file {path_or_buf}")
else:
raise ValueError(
"Multiple files found in ZIP file. "
f"Only one file per ZIP: {zip_names}"
)

# XZ Compression
elif compression == "xz":
handle = get_lzma_file()(handle, ioargs.mode)

# Zstd Compression
elif compression == "zstd":
zstd = import_optional_dependency("zstandard")
if "r" in ioargs.mode:
open_args = {"dctx": zstd.ZstdDecompressor(**compression_args)}
else:
open_args = {"cctx": zstd.ZstdCompressor(**compression_args)}
handle = zstd.open(
handle,
mode=ioargs.mode,
**open_args,
)

# Unrecognized Compression
else:
msg = f"Unrecognized compression type: {compression}"
raise ValueError(msg)

assert not isinstance(handle, str)
handles.append(handle)

elif isinstance(handle, str):
# Check whether the filename is to be opened in binary mode.
# Binary mode does not support 'encoding' and 'newline'.
if ioargs.encoding and "b" not in ioargs.mode:
# Encoding
> handle = open(
handle,
ioargs.mode,
encoding=ioargs.encoding,
errors=errors,
newline="",
)
E FileNotFoundError: [Errno 2] No such file or directory: 'Orders_and_Payment_Flow_Certification.csv'

c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\common.py:789: FileNotFoundError
-------------------------------Captured log call--------------------------------
INFO  setup:test_orders_and_payment_flow.py:46 Total URL Present is: 5
Failed test_orders_and_payment_flow.py::TestOrderAndPaymentFlowCertificationProgram::test_Orders_and_Payment_Flow_certification[T] 0.01
self = <test_orders_and_payment_flow.TestOrderAndPaymentFlowCertificationProgram object at 0x0000020BE0D15130>, value = 'T', initialize_pages = None
testdata = {'contact_no': '123456789', 'country': ['in', 'us', 'gb', 'au', 'de', 'sg', ...], 'db_type': 'mysql', 'dynamo_db_type': 'dynamo', ...}

@pytest.mark.test_details("0000","high","Order and Payment Flow","Pradeep")
@pytest.mark.parametrize("value", certification_program_course_read_csv())
def test_Orders_and_Payment_Flow_certification(self,value,initialize_pages,testdata):

'''
Objective: Make payment and validate the data in Dynamo db and mySql

Step 01: get url
Step 02: click on Enroll Now CTA
Step 03: Make payment
Step 04: Validate the Dynamo db and MySql daya for the payment
'''
self.add_rows_in_csv('Report.csv')
url_count = self._count_url_txt_file_subdomain('Orders_and_Payment_Flow_Certification.txt')
logging.info(f"Total URL Present is: {url_count}")

# Step 01: get url
counter = 0
> df = pd.read_csv('Orders_and_Payment_Flow_Certification.csv', on_bad_lines='skip')

test_prod\test_orders_and_payment_flow.py:50:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\util\_decorators.py:311: in wrapper
return func(*args, **kwargs)
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\parsers\readers.py:680: in read_csv
return _read(filepath_or_buffer, kwds)
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\parsers\readers.py:575: in _read
parser = TextFileReader(filepath_or_buffer, **kwds)
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\parsers\readers.py:933: in __init__
self._engine = self._make_engine(f, self.engine)
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\parsers\readers.py:1217: in _make_engine
self.handles = get_handle( # type: ignore[call-overload]
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

path_or_buf = 'Orders_and_Payment_Flow_Certification.csv', mode = 'r'

@doc(compression_options=_shared_docs["compression_options"] % "path_or_buf")
def get_handle(
path_or_buf: FilePath | BaseBuffer,
mode: str,
*,
encoding: str | None = None,
compression: CompressionOptions = None,
memory_map: bool = False,
is_text: bool = True,
errors: str | None = None,
storage_options: StorageOptions = None,
) -> IOHandles[str] | IOHandles[bytes]:
"""
Get file handle for given path/buffer and mode.

Parameters
----------
path_or_buf : str or file handle
File path or object.
mode : str
Mode to open path_or_buf with.
encoding : str or None
Encoding to use.
{compression_options}

.. versionchanged:: 1.0.0
May now be a dict with key 'method' as compression mode
and other keys as compression options if compression
mode is 'zip'.

.. versionchanged:: 1.1.0
Passing compression options as keys in dict is now
supported for compression modes 'gzip', 'bz2', 'zstd' and 'zip'.

.. versionchanged:: 1.4.0 Zstandard support.

memory_map : bool, default False
See parsers._parser_params for more information.
is_text : bool, default True
Whether the type of the content passed to the file/buffer is string or
bytes. This is not the same as `"b" not in mode`. If a string content is
passed to a binary file/buffer, a wrapper is inserted.
errors : str, default 'strict'
Specifies how encoding and decoding errors are to be handled.
See the errors argument for :func:`open` for a full list
of options.
storage_options: StorageOptions = None
Passed to _get_filepath_or_buffer

.. versionchanged:: 1.2.0

Returns the dataclass IOHandles
"""
# Windows does not default to utf-8. Set to utf-8 for a consistent behavior
encoding = encoding or "utf-8"

# read_csv does not know whether the buffer is opened in binary/text mode
if _is_binary_mode(path_or_buf, mode) and "b" not in mode:
mode += "b"

# validate encoding and errors
codecs.lookup(encoding)
if isinstance(errors, str):
codecs.lookup_error(errors)

# open URLs
ioargs = _get_filepath_or_buffer(
path_or_buf,
encoding=encoding,
compression=compression,
mode=mode,
storage_options=storage_options,
)

handle = ioargs.filepath_or_buffer
handles: list[BaseBuffer]

# memory mapping needs to be the first step
handle, memory_map, handles = _maybe_memory_map(
handle,
memory_map,
ioargs.encoding,
ioargs.mode,
errors,
ioargs.compression["method"] not in _compression_to_extension,
)

is_path = isinstance(handle, str)
compression_args = dict(ioargs.compression)
compression = compression_args.pop("method")

# Only for write methods
if "r" not in mode and is_path:
check_parent_directory(str(handle))

if compression:
if compression != "zstd":
# compression libraries do not like an explicit text-mode
ioargs.mode = ioargs.mode.replace("t", "")
elif compression == "zstd" and "b" not in ioargs.mode:
# python-zstandard defaults to text mode, but we always expect
# compression libraries to use binary mode.
ioargs.mode += "b"

# GZ Compression
if compression == "gzip":
if is_path:
assert isinstance(handle, str)
# error: Incompatible types in assignment (expression has type
# "GzipFile", variable has type "Union[str, BaseBuffer]")
handle = gzip.GzipFile( # type: ignore[assignment]
filename=handle,
mode=ioargs.mode,
**compression_args,
)
else:
handle = gzip.GzipFile(
# No overload variant of "GzipFile" matches argument types
# "Union[str, BaseBuffer]", "str", "Dict[str, Any]"
fileobj=handle, # type: ignore[call-overload]
mode=ioargs.mode,
**compression_args,
)

# BZ Compression
elif compression == "bz2":
# No overload variant of "BZ2File" matches argument types
# "Union[str, BaseBuffer]", "str", "Dict[str, Any]"
handle = bz2.BZ2File( # type: ignore[call-overload]
handle,
mode=ioargs.mode,
**compression_args,
)

# ZIP Compression
elif compression == "zip":
# error: Argument 1 to "_BytesZipFile" has incompatible type "Union[str,
# BaseBuffer]"; expected "Union[Union[str, PathLike[str]],
# ReadBuffer[bytes], WriteBuffer[bytes]]"
handle = _BytesZipFile(
handle, ioargs.mode, **compression_args # type: ignore[arg-type]
)
if handle.mode == "r":
handles.append(handle)
zip_names = handle.namelist()
if len(zip_names) == 1:
handle = handle.open(zip_names.pop())
elif len(zip_names) == 0:
raise ValueError(f"Zero files found in ZIP file {path_or_buf}")
else:
raise ValueError(
"Multiple files found in ZIP file. "
f"Only one file per ZIP: {zip_names}"
)

# XZ Compression
elif compression == "xz":
handle = get_lzma_file()(handle, ioargs.mode)

# Zstd Compression
elif compression == "zstd":
zstd = import_optional_dependency("zstandard")
if "r" in ioargs.mode:
open_args = {"dctx": zstd.ZstdDecompressor(**compression_args)}
else:
open_args = {"cctx": zstd.ZstdCompressor(**compression_args)}
handle = zstd.open(
handle,
mode=ioargs.mode,
**open_args,
)

# Unrecognized Compression
else:
msg = f"Unrecognized compression type: {compression}"
raise ValueError(msg)

assert not isinstance(handle, str)
handles.append(handle)

elif isinstance(handle, str):
# Check whether the filename is to be opened in binary mode.
# Binary mode does not support 'encoding' and 'newline'.
if ioargs.encoding and "b" not in ioargs.mode:
# Encoding
> handle = open(
handle,
ioargs.mode,
encoding=ioargs.encoding,
errors=errors,
newline="",
)
E FileNotFoundError: [Errno 2] No such file or directory: 'Orders_and_Payment_Flow_Certification.csv'

c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\common.py:789: FileNotFoundError
-------------------------------Captured log call--------------------------------
INFO  setup:test_orders_and_payment_flow.py:46 Total URL Present is: 5
Failed test_orders_and_payment_flow.py::TestOrderAndPaymentFlowCertificationProgram::test_Orders_and_Payment_Flow_certification[U] 0.00
self = <test_orders_and_payment_flow.TestOrderAndPaymentFlowCertificationProgram object at 0x0000020BE13C39A0>, value = 'U', initialize_pages = None
testdata = {'contact_no': '123456789', 'country': ['in', 'us', 'gb', 'au', 'de', 'sg', ...], 'db_type': 'mysql', 'dynamo_db_type': 'dynamo', ...}

@pytest.mark.test_details("0000","high","Order and Payment Flow","Pradeep")
@pytest.mark.parametrize("value", certification_program_course_read_csv())
def test_Orders_and_Payment_Flow_certification(self,value,initialize_pages,testdata):

'''
Objective: Make payment and validate the data in Dynamo db and mySql

Step 01: get url
Step 02: click on Enroll Now CTA
Step 03: Make payment
Step 04: Validate the Dynamo db and MySql daya for the payment
'''
self.add_rows_in_csv('Report.csv')
url_count = self._count_url_txt_file_subdomain('Orders_and_Payment_Flow_Certification.txt')
logging.info(f"Total URL Present is: {url_count}")

# Step 01: get url
counter = 0
> df = pd.read_csv('Orders_and_Payment_Flow_Certification.csv', on_bad_lines='skip')

test_prod\test_orders_and_payment_flow.py:50:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\util\_decorators.py:311: in wrapper
return func(*args, **kwargs)
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\parsers\readers.py:680: in read_csv
return _read(filepath_or_buffer, kwds)
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\parsers\readers.py:575: in _read
parser = TextFileReader(filepath_or_buffer, **kwds)
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\parsers\readers.py:933: in __init__
self._engine = self._make_engine(f, self.engine)
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\parsers\readers.py:1217: in _make_engine
self.handles = get_handle( # type: ignore[call-overload]
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

path_or_buf = 'Orders_and_Payment_Flow_Certification.csv', mode = 'r'

@doc(compression_options=_shared_docs["compression_options"] % "path_or_buf")
def get_handle(
path_or_buf: FilePath | BaseBuffer,
mode: str,
*,
encoding: str | None = None,
compression: CompressionOptions = None,
memory_map: bool = False,
is_text: bool = True,
errors: str | None = None,
storage_options: StorageOptions = None,
) -> IOHandles[str] | IOHandles[bytes]:
"""
Get file handle for given path/buffer and mode.

Parameters
----------
path_or_buf : str or file handle
File path or object.
mode : str
Mode to open path_or_buf with.
encoding : str or None
Encoding to use.
{compression_options}

.. versionchanged:: 1.0.0
May now be a dict with key 'method' as compression mode
and other keys as compression options if compression
mode is 'zip'.

.. versionchanged:: 1.1.0
Passing compression options as keys in dict is now
supported for compression modes 'gzip', 'bz2', 'zstd' and 'zip'.

.. versionchanged:: 1.4.0 Zstandard support.

memory_map : bool, default False
See parsers._parser_params for more information.
is_text : bool, default True
Whether the type of the content passed to the file/buffer is string or
bytes. This is not the same as `"b" not in mode`. If a string content is
passed to a binary file/buffer, a wrapper is inserted.
errors : str, default 'strict'
Specifies how encoding and decoding errors are to be handled.
See the errors argument for :func:`open` for a full list
of options.
storage_options: StorageOptions = None
Passed to _get_filepath_or_buffer

.. versionchanged:: 1.2.0

Returns the dataclass IOHandles
"""
# Windows does not default to utf-8. Set to utf-8 for a consistent behavior
encoding = encoding or "utf-8"

# read_csv does not know whether the buffer is opened in binary/text mode
if _is_binary_mode(path_or_buf, mode) and "b" not in mode:
mode += "b"

# validate encoding and errors
codecs.lookup(encoding)
if isinstance(errors, str):
codecs.lookup_error(errors)

# open URLs
ioargs = _get_filepath_or_buffer(
path_or_buf,
encoding=encoding,
compression=compression,
mode=mode,
storage_options=storage_options,
)

handle = ioargs.filepath_or_buffer
handles: list[BaseBuffer]

# memory mapping needs to be the first step
handle, memory_map, handles = _maybe_memory_map(
handle,
memory_map,
ioargs.encoding,
ioargs.mode,
errors,
ioargs.compression["method"] not in _compression_to_extension,
)

is_path = isinstance(handle, str)
compression_args = dict(ioargs.compression)
compression = compression_args.pop("method")

# Only for write methods
if "r" not in mode and is_path:
check_parent_directory(str(handle))

if compression:
if compression != "zstd":
# compression libraries do not like an explicit text-mode
ioargs.mode = ioargs.mode.replace("t", "")
elif compression == "zstd" and "b" not in ioargs.mode:
# python-zstandard defaults to text mode, but we always expect
# compression libraries to use binary mode.
ioargs.mode += "b"

# GZ Compression
if compression == "gzip":
if is_path:
assert isinstance(handle, str)
# error: Incompatible types in assignment (expression has type
# "GzipFile", variable has type "Union[str, BaseBuffer]")
handle = gzip.GzipFile( # type: ignore[assignment]
filename=handle,
mode=ioargs.mode,
**compression_args,
)
else:
handle = gzip.GzipFile(
# No overload variant of "GzipFile" matches argument types
# "Union[str, BaseBuffer]", "str", "Dict[str, Any]"
fileobj=handle, # type: ignore[call-overload]
mode=ioargs.mode,
**compression_args,
)

# BZ Compression
elif compression == "bz2":
# No overload variant of "BZ2File" matches argument types
# "Union[str, BaseBuffer]", "str", "Dict[str, Any]"
handle = bz2.BZ2File( # type: ignore[call-overload]
handle,
mode=ioargs.mode,
**compression_args,
)

# ZIP Compression
elif compression == "zip":
# error: Argument 1 to "_BytesZipFile" has incompatible type "Union[str,
# BaseBuffer]"; expected "Union[Union[str, PathLike[str]],
# ReadBuffer[bytes], WriteBuffer[bytes]]"
handle = _BytesZipFile(
handle, ioargs.mode, **compression_args # type: ignore[arg-type]
)
if handle.mode == "r":
handles.append(handle)
zip_names = handle.namelist()
if len(zip_names) == 1:
handle = handle.open(zip_names.pop())
elif len(zip_names) == 0:
raise ValueError(f"Zero files found in ZIP file {path_or_buf}")
else:
raise ValueError(
"Multiple files found in ZIP file. "
f"Only one file per ZIP: {zip_names}"
)

# XZ Compression
elif compression == "xz":
handle = get_lzma_file()(handle, ioargs.mode)

# Zstd Compression
elif compression == "zstd":
zstd = import_optional_dependency("zstandard")
if "r" in ioargs.mode:
open_args = {"dctx": zstd.ZstdDecompressor(**compression_args)}
else:
open_args = {"cctx": zstd.ZstdCompressor(**compression_args)}
handle = zstd.open(
handle,
mode=ioargs.mode,
**open_args,
)

# Unrecognized Compression
else:
msg = f"Unrecognized compression type: {compression}"
raise ValueError(msg)

assert not isinstance(handle, str)
handles.append(handle)

elif isinstance(handle, str):
# Check whether the filename is to be opened in binary mode.
# Binary mode does not support 'encoding' and 'newline'.
if ioargs.encoding and "b" not in ioargs.mode:
# Encoding
> handle = open(
handle,
ioargs.mode,
encoding=ioargs.encoding,
errors=errors,
newline="",
)
E FileNotFoundError: [Errno 2] No such file or directory: 'Orders_and_Payment_Flow_Certification.csv'

c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\common.py:789: FileNotFoundError
-------------------------------Captured log call--------------------------------
INFO  setup:test_orders_and_payment_flow.py:46 Total URL Present is: 5
Failed test_orders_and_payment_flow.py::TestOrderAndPaymentFlowCertificationProgram::test_Orders_and_Payment_Flow_certification[V] 0.01
self = <test_orders_and_payment_flow.TestOrderAndPaymentFlowCertificationProgram object at 0x0000020BE13D54C0>, value = 'V', initialize_pages = None
testdata = {'contact_no': '123456789', 'country': ['in', 'us', 'gb', 'au', 'de', 'sg', ...], 'db_type': 'mysql', 'dynamo_db_type': 'dynamo', ...}

@pytest.mark.test_details("0000","high","Order and Payment Flow","Pradeep")
@pytest.mark.parametrize("value", certification_program_course_read_csv())
def test_Orders_and_Payment_Flow_certification(self,value,initialize_pages,testdata):

'''
Objective: Make payment and validate the data in Dynamo db and mySql

Step 01: get url
Step 02: click on Enroll Now CTA
Step 03: Make payment
Step 04: Validate the Dynamo db and MySql daya for the payment
'''
self.add_rows_in_csv('Report.csv')
url_count = self._count_url_txt_file_subdomain('Orders_and_Payment_Flow_Certification.txt')
logging.info(f"Total URL Present is: {url_count}")

# Step 01: get url
counter = 0
> df = pd.read_csv('Orders_and_Payment_Flow_Certification.csv', on_bad_lines='skip')

test_prod\test_orders_and_payment_flow.py:50:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\util\_decorators.py:311: in wrapper
return func(*args, **kwargs)
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\parsers\readers.py:680: in read_csv
return _read(filepath_or_buffer, kwds)
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\parsers\readers.py:575: in _read
parser = TextFileReader(filepath_or_buffer, **kwds)
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\parsers\readers.py:933: in __init__
self._engine = self._make_engine(f, self.engine)
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\parsers\readers.py:1217: in _make_engine
self.handles = get_handle( # type: ignore[call-overload]
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

path_or_buf = 'Orders_and_Payment_Flow_Certification.csv', mode = 'r'

@doc(compression_options=_shared_docs["compression_options"] % "path_or_buf")
def get_handle(
path_or_buf: FilePath | BaseBuffer,
mode: str,
*,
encoding: str | None = None,
compression: CompressionOptions = None,
memory_map: bool = False,
is_text: bool = True,
errors: str | None = None,
storage_options: StorageOptions = None,
) -> IOHandles[str] | IOHandles[bytes]:
"""
Get file handle for given path/buffer and mode.

Parameters
----------
path_or_buf : str or file handle
File path or object.
mode : str
Mode to open path_or_buf with.
encoding : str or None
Encoding to use.
{compression_options}

.. versionchanged:: 1.0.0
May now be a dict with key 'method' as compression mode
and other keys as compression options if compression
mode is 'zip'.

.. versionchanged:: 1.1.0
Passing compression options as keys in dict is now
supported for compression modes 'gzip', 'bz2', 'zstd' and 'zip'.

.. versionchanged:: 1.4.0 Zstandard support.

memory_map : bool, default False
See parsers._parser_params for more information.
is_text : bool, default True
Whether the type of the content passed to the file/buffer is string or
bytes. This is not the same as `"b" not in mode`. If a string content is
passed to a binary file/buffer, a wrapper is inserted.
errors : str, default 'strict'
Specifies how encoding and decoding errors are to be handled.
See the errors argument for :func:`open` for a full list
of options.
storage_options: StorageOptions = None
Passed to _get_filepath_or_buffer

.. versionchanged:: 1.2.0

Returns the dataclass IOHandles
"""
# Windows does not default to utf-8. Set to utf-8 for a consistent behavior
encoding = encoding or "utf-8"

# read_csv does not know whether the buffer is opened in binary/text mode
if _is_binary_mode(path_or_buf, mode) and "b" not in mode:
mode += "b"

# validate encoding and errors
codecs.lookup(encoding)
if isinstance(errors, str):
codecs.lookup_error(errors)

# open URLs
ioargs = _get_filepath_or_buffer(
path_or_buf,
encoding=encoding,
compression=compression,
mode=mode,
storage_options=storage_options,
)

handle = ioargs.filepath_or_buffer
handles: list[BaseBuffer]

# memory mapping needs to be the first step
handle, memory_map, handles = _maybe_memory_map(
handle,
memory_map,
ioargs.encoding,
ioargs.mode,
errors,
ioargs.compression["method"] not in _compression_to_extension,
)

is_path = isinstance(handle, str)
compression_args = dict(ioargs.compression)
compression = compression_args.pop("method")

# Only for write methods
if "r" not in mode and is_path:
check_parent_directory(str(handle))

if compression:
if compression != "zstd":
# compression libraries do not like an explicit text-mode
ioargs.mode = ioargs.mode.replace("t", "")
elif compression == "zstd" and "b" not in ioargs.mode:
# python-zstandard defaults to text mode, but we always expect
# compression libraries to use binary mode.
ioargs.mode += "b"

# GZ Compression
if compression == "gzip":
if is_path:
assert isinstance(handle, str)
# error: Incompatible types in assignment (expression has type
# "GzipFile", variable has type "Union[str, BaseBuffer]")
handle = gzip.GzipFile( # type: ignore[assignment]
filename=handle,
mode=ioargs.mode,
**compression_args,
)
else:
handle = gzip.GzipFile(
# No overload variant of "GzipFile" matches argument types
# "Union[str, BaseBuffer]", "str", "Dict[str, Any]"
fileobj=handle, # type: ignore[call-overload]
mode=ioargs.mode,
**compression_args,
)

# BZ Compression
elif compression == "bz2":
# No overload variant of "BZ2File" matches argument types
# "Union[str, BaseBuffer]", "str", "Dict[str, Any]"
handle = bz2.BZ2File( # type: ignore[call-overload]
handle,
mode=ioargs.mode,
**compression_args,
)

# ZIP Compression
elif compression == "zip":
# error: Argument 1 to "_BytesZipFile" has incompatible type "Union[str,
# BaseBuffer]"; expected "Union[Union[str, PathLike[str]],
# ReadBuffer[bytes], WriteBuffer[bytes]]"
handle = _BytesZipFile(
handle, ioargs.mode, **compression_args # type: ignore[arg-type]
)
if handle.mode == "r":
handles.append(handle)
zip_names = handle.namelist()
if len(zip_names) == 1:
handle = handle.open(zip_names.pop())
elif len(zip_names) == 0:
raise ValueError(f"Zero files found in ZIP file {path_or_buf}")
else:
raise ValueError(
"Multiple files found in ZIP file. "
f"Only one file per ZIP: {zip_names}"
)

# XZ Compression
elif compression == "xz":
handle = get_lzma_file()(handle, ioargs.mode)

# Zstd Compression
elif compression == "zstd":
zstd = import_optional_dependency("zstandard")
if "r" in ioargs.mode:
open_args = {"dctx": zstd.ZstdDecompressor(**compression_args)}
else:
open_args = {"cctx": zstd.ZstdCompressor(**compression_args)}
handle = zstd.open(
handle,
mode=ioargs.mode,
**open_args,
)

# Unrecognized Compression
else:
msg = f"Unrecognized compression type: {compression}"
raise ValueError(msg)

assert not isinstance(handle, str)
handles.append(handle)

elif isinstance(handle, str):
# Check whether the filename is to be opened in binary mode.
# Binary mode does not support 'encoding' and 'newline'.
if ioargs.encoding and "b" not in ioargs.mode:
# Encoding
> handle = open(
handle,
ioargs.mode,
encoding=ioargs.encoding,
errors=errors,
newline="",
)
E FileNotFoundError: [Errno 2] No such file or directory: 'Orders_and_Payment_Flow_Certification.csv'

c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\common.py:789: FileNotFoundError
-------------------------------Captured log call--------------------------------
INFO  setup:test_orders_and_payment_flow.py:46 Total URL Present is: 5
Failed test_orders_and_payment_flow.py::TestOrderAndPaymentFlowCertificationProgram::test_Orders_and_Payment_Flow_certification[W] 0.00
self = <test_orders_and_payment_flow.TestOrderAndPaymentFlowCertificationProgram object at 0x0000020BE0FC4C40>, value = 'W', initialize_pages = None
testdata = {'contact_no': '123456789', 'country': ['in', 'us', 'gb', 'au', 'de', 'sg', ...], 'db_type': 'mysql', 'dynamo_db_type': 'dynamo', ...}

@pytest.mark.test_details("0000","high","Order and Payment Flow","Pradeep")
@pytest.mark.parametrize("value", certification_program_course_read_csv())
def test_Orders_and_Payment_Flow_certification(self,value,initialize_pages,testdata):

'''
Objective: Make payment and validate the data in Dynamo db and mySql

Step 01: get url
Step 02: click on Enroll Now CTA
Step 03: Make payment
Step 04: Validate the Dynamo db and MySql daya for the payment
'''
self.add_rows_in_csv('Report.csv')
url_count = self._count_url_txt_file_subdomain('Orders_and_Payment_Flow_Certification.txt')
logging.info(f"Total URL Present is: {url_count}")

# Step 01: get url
counter = 0
> df = pd.read_csv('Orders_and_Payment_Flow_Certification.csv', on_bad_lines='skip')

test_prod\test_orders_and_payment_flow.py:50:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\util\_decorators.py:311: in wrapper
return func(*args, **kwargs)
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\parsers\readers.py:680: in read_csv
return _read(filepath_or_buffer, kwds)
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\parsers\readers.py:575: in _read
parser = TextFileReader(filepath_or_buffer, **kwds)
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\parsers\readers.py:933: in __init__
self._engine = self._make_engine(f, self.engine)
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\parsers\readers.py:1217: in _make_engine
self.handles = get_handle( # type: ignore[call-overload]
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

path_or_buf = 'Orders_and_Payment_Flow_Certification.csv', mode = 'r'

@doc(compression_options=_shared_docs["compression_options"] % "path_or_buf")
def get_handle(
path_or_buf: FilePath | BaseBuffer,
mode: str,
*,
encoding: str | None = None,
compression: CompressionOptions = None,
memory_map: bool = False,
is_text: bool = True,
errors: str | None = None,
storage_options: StorageOptions = None,
) -> IOHandles[str] | IOHandles[bytes]:
"""
Get file handle for given path/buffer and mode.

Parameters
----------
path_or_buf : str or file handle
File path or object.
mode : str
Mode to open path_or_buf with.
encoding : str or None
Encoding to use.
{compression_options}

.. versionchanged:: 1.0.0
May now be a dict with key 'method' as compression mode
and other keys as compression options if compression
mode is 'zip'.

.. versionchanged:: 1.1.0
Passing compression options as keys in dict is now
supported for compression modes 'gzip', 'bz2', 'zstd' and 'zip'.

.. versionchanged:: 1.4.0 Zstandard support.

memory_map : bool, default False
See parsers._parser_params for more information.
is_text : bool, default True
Whether the type of the content passed to the file/buffer is string or
bytes. This is not the same as `"b" not in mode`. If a string content is
passed to a binary file/buffer, a wrapper is inserted.
errors : str, default 'strict'
Specifies how encoding and decoding errors are to be handled.
See the errors argument for :func:`open` for a full list
of options.
storage_options: StorageOptions = None
Passed to _get_filepath_or_buffer

.. versionchanged:: 1.2.0

Returns the dataclass IOHandles
"""
# Windows does not default to utf-8. Set to utf-8 for a consistent behavior
encoding = encoding or "utf-8"

# read_csv does not know whether the buffer is opened in binary/text mode
if _is_binary_mode(path_or_buf, mode) and "b" not in mode:
mode += "b"

# validate encoding and errors
codecs.lookup(encoding)
if isinstance(errors, str):
codecs.lookup_error(errors)

# open URLs
ioargs = _get_filepath_or_buffer(
path_or_buf,
encoding=encoding,
compression=compression,
mode=mode,
storage_options=storage_options,
)

handle = ioargs.filepath_or_buffer
handles: list[BaseBuffer]

# memory mapping needs to be the first step
handle, memory_map, handles = _maybe_memory_map(
handle,
memory_map,
ioargs.encoding,
ioargs.mode,
errors,
ioargs.compression["method"] not in _compression_to_extension,
)

is_path = isinstance(handle, str)
compression_args = dict(ioargs.compression)
compression = compression_args.pop("method")

# Only for write methods
if "r" not in mode and is_path:
check_parent_directory(str(handle))

if compression:
if compression != "zstd":
# compression libraries do not like an explicit text-mode
ioargs.mode = ioargs.mode.replace("t", "")
elif compression == "zstd" and "b" not in ioargs.mode:
# python-zstandard defaults to text mode, but we always expect
# compression libraries to use binary mode.
ioargs.mode += "b"

# GZ Compression
if compression == "gzip":
if is_path:
assert isinstance(handle, str)
# error: Incompatible types in assignment (expression has type
# "GzipFile", variable has type "Union[str, BaseBuffer]")
handle = gzip.GzipFile( # type: ignore[assignment]
filename=handle,
mode=ioargs.mode,
**compression_args,
)
else:
handle = gzip.GzipFile(
# No overload variant of "GzipFile" matches argument types
# "Union[str, BaseBuffer]", "str", "Dict[str, Any]"
fileobj=handle, # type: ignore[call-overload]
mode=ioargs.mode,
**compression_args,
)

# BZ Compression
elif compression == "bz2":
# No overload variant of "BZ2File" matches argument types
# "Union[str, BaseBuffer]", "str", "Dict[str, Any]"
handle = bz2.BZ2File( # type: ignore[call-overload]
handle,
mode=ioargs.mode,
**compression_args,
)

# ZIP Compression
elif compression == "zip":
# error: Argument 1 to "_BytesZipFile" has incompatible type "Union[str,
# BaseBuffer]"; expected "Union[Union[str, PathLike[str]],
# ReadBuffer[bytes], WriteBuffer[bytes]]"
handle = _BytesZipFile(
handle, ioargs.mode, **compression_args # type: ignore[arg-type]
)
if handle.mode == "r":
handles.append(handle)
zip_names = handle.namelist()
if len(zip_names) == 1:
handle = handle.open(zip_names.pop())
elif len(zip_names) == 0:
raise ValueError(f"Zero files found in ZIP file {path_or_buf}")
else:
raise ValueError(
"Multiple files found in ZIP file. "
f"Only one file per ZIP: {zip_names}"
)

# XZ Compression
elif compression == "xz":
handle = get_lzma_file()(handle, ioargs.mode)

# Zstd Compression
elif compression == "zstd":
zstd = import_optional_dependency("zstandard")
if "r" in ioargs.mode:
open_args = {"dctx": zstd.ZstdDecompressor(**compression_args)}
else:
open_args = {"cctx": zstd.ZstdCompressor(**compression_args)}
handle = zstd.open(
handle,
mode=ioargs.mode,
**open_args,
)

# Unrecognized Compression
else:
msg = f"Unrecognized compression type: {compression}"
raise ValueError(msg)

assert not isinstance(handle, str)
handles.append(handle)

elif isinstance(handle, str):
# Check whether the filename is to be opened in binary mode.
# Binary mode does not support 'encoding' and 'newline'.
if ioargs.encoding and "b" not in ioargs.mode:
# Encoding
> handle = open(
handle,
ioargs.mode,
encoding=ioargs.encoding,
errors=errors,
newline="",
)
E FileNotFoundError: [Errno 2] No such file or directory: 'Orders_and_Payment_Flow_Certification.csv'

c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\common.py:789: FileNotFoundError
-------------------------------Captured log call--------------------------------
INFO  setup:test_orders_and_payment_flow.py:46 Total URL Present is: 5
Failed test_orders_and_payment_flow.py::TestOrderAndPaymentFlowCertificationProgram::test_Orders_and_Payment_Flow_certification[X] 0.00
self = <test_orders_and_payment_flow.TestOrderAndPaymentFlowCertificationProgram object at 0x0000020BE10B1EB0>, value = 'X', initialize_pages = None
testdata = {'contact_no': '123456789', 'country': ['in', 'us', 'gb', 'au', 'de', 'sg', ...], 'db_type': 'mysql', 'dynamo_db_type': 'dynamo', ...}

@pytest.mark.test_details("0000","high","Order and Payment Flow","Pradeep")
@pytest.mark.parametrize("value", certification_program_course_read_csv())
def test_Orders_and_Payment_Flow_certification(self,value,initialize_pages,testdata):

'''
Objective: Make payment and validate the data in Dynamo db and mySql

Step 01: get url
Step 02: click on Enroll Now CTA
Step 03: Make payment
Step 04: Validate the Dynamo db and MySql daya for the payment
'''
self.add_rows_in_csv('Report.csv')
url_count = self._count_url_txt_file_subdomain('Orders_and_Payment_Flow_Certification.txt')
logging.info(f"Total URL Present is: {url_count}")

# Step 01: get url
counter = 0
> df = pd.read_csv('Orders_and_Payment_Flow_Certification.csv', on_bad_lines='skip')

test_prod\test_orders_and_payment_flow.py:50:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\util\_decorators.py:311: in wrapper
return func(*args, **kwargs)
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\parsers\readers.py:680: in read_csv
return _read(filepath_or_buffer, kwds)
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\parsers\readers.py:575: in _read
parser = TextFileReader(filepath_or_buffer, **kwds)
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\parsers\readers.py:933: in __init__
self._engine = self._make_engine(f, self.engine)
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\parsers\readers.py:1217: in _make_engine
self.handles = get_handle( # type: ignore[call-overload]
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

path_or_buf = 'Orders_and_Payment_Flow_Certification.csv', mode = 'r'

@doc(compression_options=_shared_docs["compression_options"] % "path_or_buf")
def get_handle(
path_or_buf: FilePath | BaseBuffer,
mode: str,
*,
encoding: str | None = None,
compression: CompressionOptions = None,
memory_map: bool = False,
is_text: bool = True,
errors: str | None = None,
storage_options: StorageOptions = None,
) -> IOHandles[str] | IOHandles[bytes]:
"""
Get file handle for given path/buffer and mode.

Parameters
----------
path_or_buf : str or file handle
File path or object.
mode : str
Mode to open path_or_buf with.
encoding : str or None
Encoding to use.
{compression_options}

.. versionchanged:: 1.0.0
May now be a dict with key 'method' as compression mode
and other keys as compression options if compression
mode is 'zip'.

.. versionchanged:: 1.1.0
Passing compression options as keys in dict is now
supported for compression modes 'gzip', 'bz2', 'zstd' and 'zip'.

.. versionchanged:: 1.4.0 Zstandard support.

memory_map : bool, default False
See parsers._parser_params for more information.
is_text : bool, default True
Whether the type of the content passed to the file/buffer is string or
bytes. This is not the same as `"b" not in mode`. If a string content is
passed to a binary file/buffer, a wrapper is inserted.
errors : str, default 'strict'
Specifies how encoding and decoding errors are to be handled.
See the errors argument for :func:`open` for a full list
of options.
storage_options: StorageOptions = None
Passed to _get_filepath_or_buffer

.. versionchanged:: 1.2.0

Returns the dataclass IOHandles
"""
# Windows does not default to utf-8. Set to utf-8 for a consistent behavior
encoding = encoding or "utf-8"

# read_csv does not know whether the buffer is opened in binary/text mode
if _is_binary_mode(path_or_buf, mode) and "b" not in mode:
mode += "b"

# validate encoding and errors
codecs.lookup(encoding)
if isinstance(errors, str):
codecs.lookup_error(errors)

# open URLs
ioargs = _get_filepath_or_buffer(
path_or_buf,
encoding=encoding,
compression=compression,
mode=mode,
storage_options=storage_options,
)

handle = ioargs.filepath_or_buffer
handles: list[BaseBuffer]

# memory mapping needs to be the first step
handle, memory_map, handles = _maybe_memory_map(
handle,
memory_map,
ioargs.encoding,
ioargs.mode,
errors,
ioargs.compression["method"] not in _compression_to_extension,
)

is_path = isinstance(handle, str)
compression_args = dict(ioargs.compression)
compression = compression_args.pop("method")

# Only for write methods
if "r" not in mode and is_path:
check_parent_directory(str(handle))

if compression:
if compression != "zstd":
# compression libraries do not like an explicit text-mode
ioargs.mode = ioargs.mode.replace("t", "")
elif compression == "zstd" and "b" not in ioargs.mode:
# python-zstandard defaults to text mode, but we always expect
# compression libraries to use binary mode.
ioargs.mode += "b"

# GZ Compression
if compression == "gzip":
if is_path:
assert isinstance(handle, str)
# error: Incompatible types in assignment (expression has type
# "GzipFile", variable has type "Union[str, BaseBuffer]")
handle = gzip.GzipFile( # type: ignore[assignment]
filename=handle,
mode=ioargs.mode,
**compression_args,
)
else:
handle = gzip.GzipFile(
# No overload variant of "GzipFile" matches argument types
# "Union[str, BaseBuffer]", "str", "Dict[str, Any]"
fileobj=handle, # type: ignore[call-overload]
mode=ioargs.mode,
**compression_args,
)

# BZ Compression
elif compression == "bz2":
# No overload variant of "BZ2File" matches argument types
# "Union[str, BaseBuffer]", "str", "Dict[str, Any]"
handle = bz2.BZ2File( # type: ignore[call-overload]
handle,
mode=ioargs.mode,
**compression_args,
)

# ZIP Compression
elif compression == "zip":
# error: Argument 1 to "_BytesZipFile" has incompatible type "Union[str,
# BaseBuffer]"; expected "Union[Union[str, PathLike[str]],
# ReadBuffer[bytes], WriteBuffer[bytes]]"
handle = _BytesZipFile(
handle, ioargs.mode, **compression_args # type: ignore[arg-type]
)
if handle.mode == "r":
handles.append(handle)
zip_names = handle.namelist()
if len(zip_names) == 1:
handle = handle.open(zip_names.pop())
elif len(zip_names) == 0:
raise ValueError(f"Zero files found in ZIP file {path_or_buf}")
else:
raise ValueError(
"Multiple files found in ZIP file. "
f"Only one file per ZIP: {zip_names}"
)

# XZ Compression
elif compression == "xz":
handle = get_lzma_file()(handle, ioargs.mode)

# Zstd Compression
elif compression == "zstd":
zstd = import_optional_dependency("zstandard")
if "r" in ioargs.mode:
open_args = {"dctx": zstd.ZstdDecompressor(**compression_args)}
else:
open_args = {"cctx": zstd.ZstdCompressor(**compression_args)}
handle = zstd.open(
handle,
mode=ioargs.mode,
**open_args,
)

# Unrecognized Compression
else:
msg = f"Unrecognized compression type: {compression}"
raise ValueError(msg)

assert not isinstance(handle, str)
handles.append(handle)

elif isinstance(handle, str):
# Check whether the filename is to be opened in binary mode.
# Binary mode does not support 'encoding' and 'newline'.
if ioargs.encoding and "b" not in ioargs.mode:
# Encoding
> handle = open(
handle,
ioargs.mode,
encoding=ioargs.encoding,
errors=errors,
newline="",
)
E FileNotFoundError: [Errno 2] No such file or directory: 'Orders_and_Payment_Flow_Certification.csv'

c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\common.py:789: FileNotFoundError
-------------------------------Captured log call--------------------------------
INFO  setup:test_orders_and_payment_flow.py:46 Total URL Present is: 5
Failed test_orders_and_payment_flow.py::TestOrderAndPaymentFlowCertificationProgram::test_Orders_and_Payment_Flow_certification[Y] 0.00
self = <test_orders_and_payment_flow.TestOrderAndPaymentFlowCertificationProgram object at 0x0000020BE10C5850>, value = 'Y', initialize_pages = None
testdata = {'contact_no': '123456789', 'country': ['in', 'us', 'gb', 'au', 'de', 'sg', ...], 'db_type': 'mysql', 'dynamo_db_type': 'dynamo', ...}

@pytest.mark.test_details("0000","high","Order and Payment Flow","Pradeep")
@pytest.mark.parametrize("value", certification_program_course_read_csv())
def test_Orders_and_Payment_Flow_certification(self,value,initialize_pages,testdata):

'''
Objective: Make payment and validate the data in Dynamo db and mySql

Step 01: get url
Step 02: click on Enroll Now CTA
Step 03: Make payment
Step 04: Validate the Dynamo db and MySql daya for the payment
'''
self.add_rows_in_csv('Report.csv')
url_count = self._count_url_txt_file_subdomain('Orders_and_Payment_Flow_Certification.txt')
logging.info(f"Total URL Present is: {url_count}")

# Step 01: get url
counter = 0
> df = pd.read_csv('Orders_and_Payment_Flow_Certification.csv', on_bad_lines='skip')

test_prod\test_orders_and_payment_flow.py:50:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\util\_decorators.py:311: in wrapper
return func(*args, **kwargs)
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\parsers\readers.py:680: in read_csv
return _read(filepath_or_buffer, kwds)
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\parsers\readers.py:575: in _read
parser = TextFileReader(filepath_or_buffer, **kwds)
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\parsers\readers.py:933: in __init__
self._engine = self._make_engine(f, self.engine)
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\parsers\readers.py:1217: in _make_engine
self.handles = get_handle( # type: ignore[call-overload]
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

path_or_buf = 'Orders_and_Payment_Flow_Certification.csv', mode = 'r'

@doc(compression_options=_shared_docs["compression_options"] % "path_or_buf")
def get_handle(
path_or_buf: FilePath | BaseBuffer,
mode: str,
*,
encoding: str | None = None,
compression: CompressionOptions = None,
memory_map: bool = False,
is_text: bool = True,
errors: str | None = None,
storage_options: StorageOptions = None,
) -> IOHandles[str] | IOHandles[bytes]:
"""
Get file handle for given path/buffer and mode.

Parameters
----------
path_or_buf : str or file handle
File path or object.
mode : str
Mode to open path_or_buf with.
encoding : str or None
Encoding to use.
{compression_options}

.. versionchanged:: 1.0.0
May now be a dict with key 'method' as compression mode
and other keys as compression options if compression
mode is 'zip'.

.. versionchanged:: 1.1.0
Passing compression options as keys in dict is now
supported for compression modes 'gzip', 'bz2', 'zstd' and 'zip'.

.. versionchanged:: 1.4.0 Zstandard support.

memory_map : bool, default False
See parsers._parser_params for more information.
is_text : bool, default True
Whether the type of the content passed to the file/buffer is string or
bytes. This is not the same as `"b" not in mode`. If a string content is
passed to a binary file/buffer, a wrapper is inserted.
errors : str, default 'strict'
Specifies how encoding and decoding errors are to be handled.
See the errors argument for :func:`open` for a full list
of options.
storage_options: StorageOptions = None
Passed to _get_filepath_or_buffer

.. versionchanged:: 1.2.0

Returns the dataclass IOHandles
"""
# Windows does not default to utf-8. Set to utf-8 for a consistent behavior
encoding = encoding or "utf-8"

# read_csv does not know whether the buffer is opened in binary/text mode
if _is_binary_mode(path_or_buf, mode) and "b" not in mode:
mode += "b"

# validate encoding and errors
codecs.lookup(encoding)
if isinstance(errors, str):
codecs.lookup_error(errors)

# open URLs
ioargs = _get_filepath_or_buffer(
path_or_buf,
encoding=encoding,
compression=compression,
mode=mode,
storage_options=storage_options,
)

handle = ioargs.filepath_or_buffer
handles: list[BaseBuffer]

# memory mapping needs to be the first step
handle, memory_map, handles = _maybe_memory_map(
handle,
memory_map,
ioargs.encoding,
ioargs.mode,
errors,
ioargs.compression["method"] not in _compression_to_extension,
)

is_path = isinstance(handle, str)
compression_args = dict(ioargs.compression)
compression = compression_args.pop("method")

# Only for write methods
if "r" not in mode and is_path:
check_parent_directory(str(handle))

if compression:
if compression != "zstd":
# compression libraries do not like an explicit text-mode
ioargs.mode = ioargs.mode.replace("t", "")
elif compression == "zstd" and "b" not in ioargs.mode:
# python-zstandard defaults to text mode, but we always expect
# compression libraries to use binary mode.
ioargs.mode += "b"

# GZ Compression
if compression == "gzip":
if is_path:
assert isinstance(handle, str)
# error: Incompatible types in assignment (expression has type
# "GzipFile", variable has type "Union[str, BaseBuffer]")
handle = gzip.GzipFile( # type: ignore[assignment]
filename=handle,
mode=ioargs.mode,
**compression_args,
)
else:
handle = gzip.GzipFile(
# No overload variant of "GzipFile" matches argument types
# "Union[str, BaseBuffer]", "str", "Dict[str, Any]"
fileobj=handle, # type: ignore[call-overload]
mode=ioargs.mode,
**compression_args,
)

# BZ Compression
elif compression == "bz2":
# No overload variant of "BZ2File" matches argument types
# "Union[str, BaseBuffer]", "str", "Dict[str, Any]"
handle = bz2.BZ2File( # type: ignore[call-overload]
handle,
mode=ioargs.mode,
**compression_args,
)

# ZIP Compression
elif compression == "zip":
# error: Argument 1 to "_BytesZipFile" has incompatible type "Union[str,
# BaseBuffer]"; expected "Union[Union[str, PathLike[str]],
# ReadBuffer[bytes], WriteBuffer[bytes]]"
handle = _BytesZipFile(
handle, ioargs.mode, **compression_args # type: ignore[arg-type]
)
if handle.mode == "r":
handles.append(handle)
zip_names = handle.namelist()
if len(zip_names) == 1:
handle = handle.open(zip_names.pop())
elif len(zip_names) == 0:
raise ValueError(f"Zero files found in ZIP file {path_or_buf}")
else:
raise ValueError(
"Multiple files found in ZIP file. "
f"Only one file per ZIP: {zip_names}"
)

# XZ Compression
elif compression == "xz":
handle = get_lzma_file()(handle, ioargs.mode)

# Zstd Compression
elif compression == "zstd":
zstd = import_optional_dependency("zstandard")
if "r" in ioargs.mode:
open_args = {"dctx": zstd.ZstdDecompressor(**compression_args)}
else:
open_args = {"cctx": zstd.ZstdCompressor(**compression_args)}
handle = zstd.open(
handle,
mode=ioargs.mode,
**open_args,
)

# Unrecognized Compression
else:
msg = f"Unrecognized compression type: {compression}"
raise ValueError(msg)

assert not isinstance(handle, str)
handles.append(handle)

elif isinstance(handle, str):
# Check whether the filename is to be opened in binary mode.
# Binary mode does not support 'encoding' and 'newline'.
if ioargs.encoding and "b" not in ioargs.mode:
# Encoding
> handle = open(
handle,
ioargs.mode,
encoding=ioargs.encoding,
errors=errors,
newline="",
)
E FileNotFoundError: [Errno 2] No such file or directory: 'Orders_and_Payment_Flow_Certification.csv'

c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\common.py:789: FileNotFoundError
-------------------------------Captured log call--------------------------------
INFO  setup:test_orders_and_payment_flow.py:46 Total URL Present is: 5
Failed test_orders_and_payment_flow.py::TestOrderAndPaymentFlowCertificationProgram::test_Orders_and_Payment_Flow_certification[Z] 0.00
self = <test_orders_and_payment_flow.TestOrderAndPaymentFlowCertificationProgram object at 0x0000020BE1517550>, value = 'Z', initialize_pages = None
testdata = {'contact_no': '123456789', 'country': ['in', 'us', 'gb', 'au', 'de', 'sg', ...], 'db_type': 'mysql', 'dynamo_db_type': 'dynamo', ...}

@pytest.mark.test_details("0000","high","Order and Payment Flow","Pradeep")
@pytest.mark.parametrize("value", certification_program_course_read_csv())
def test_Orders_and_Payment_Flow_certification(self,value,initialize_pages,testdata):

'''
Objective: Make payment and validate the data in Dynamo db and mySql

Step 01: get url
Step 02: click on Enroll Now CTA
Step 03: Make payment
Step 04: Validate the Dynamo db and MySql daya for the payment
'''
self.add_rows_in_csv('Report.csv')
url_count = self._count_url_txt_file_subdomain('Orders_and_Payment_Flow_Certification.txt')
logging.info(f"Total URL Present is: {url_count}")

# Step 01: get url
counter = 0
> df = pd.read_csv('Orders_and_Payment_Flow_Certification.csv', on_bad_lines='skip')

test_prod\test_orders_and_payment_flow.py:50:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\util\_decorators.py:311: in wrapper
return func(*args, **kwargs)
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\parsers\readers.py:680: in read_csv
return _read(filepath_or_buffer, kwds)
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\parsers\readers.py:575: in _read
parser = TextFileReader(filepath_or_buffer, **kwds)
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\parsers\readers.py:933: in __init__
self._engine = self._make_engine(f, self.engine)
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\parsers\readers.py:1217: in _make_engine
self.handles = get_handle( # type: ignore[call-overload]
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

path_or_buf = 'Orders_and_Payment_Flow_Certification.csv', mode = 'r'

@doc(compression_options=_shared_docs["compression_options"] % "path_or_buf")
def get_handle(
path_or_buf: FilePath | BaseBuffer,
mode: str,
*,
encoding: str | None = None,
compression: CompressionOptions = None,
memory_map: bool = False,
is_text: bool = True,
errors: str | None = None,
storage_options: StorageOptions = None,
) -> IOHandles[str] | IOHandles[bytes]:
"""
Get file handle for given path/buffer and mode.

Parameters
----------
path_or_buf : str or file handle
File path or object.
mode : str
Mode to open path_or_buf with.
encoding : str or None
Encoding to use.
{compression_options}

.. versionchanged:: 1.0.0
May now be a dict with key 'method' as compression mode
and other keys as compression options if compression
mode is 'zip'.

.. versionchanged:: 1.1.0
Passing compression options as keys in dict is now
supported for compression modes 'gzip', 'bz2', 'zstd' and 'zip'.

.. versionchanged:: 1.4.0 Zstandard support.

memory_map : bool, default False
See parsers._parser_params for more information.
is_text : bool, default True
Whether the type of the content passed to the file/buffer is string or
bytes. This is not the same as `"b" not in mode`. If a string content is
passed to a binary file/buffer, a wrapper is inserted.
errors : str, default 'strict'
Specifies how encoding and decoding errors are to be handled.
See the errors argument for :func:`open` for a full list
of options.
storage_options: StorageOptions = None
Passed to _get_filepath_or_buffer

.. versionchanged:: 1.2.0

Returns the dataclass IOHandles
"""
# Windows does not default to utf-8. Set to utf-8 for a consistent behavior
encoding = encoding or "utf-8"

# read_csv does not know whether the buffer is opened in binary/text mode
if _is_binary_mode(path_or_buf, mode) and "b" not in mode:
mode += "b"

# validate encoding and errors
codecs.lookup(encoding)
if isinstance(errors, str):
codecs.lookup_error(errors)

# open URLs
ioargs = _get_filepath_or_buffer(
path_or_buf,
encoding=encoding,
compression=compression,
mode=mode,
storage_options=storage_options,
)

handle = ioargs.filepath_or_buffer
handles: list[BaseBuffer]

# memory mapping needs to be the first step
handle, memory_map, handles = _maybe_memory_map(
handle,
memory_map,
ioargs.encoding,
ioargs.mode,
errors,
ioargs.compression["method"] not in _compression_to_extension,
)

is_path = isinstance(handle, str)
compression_args = dict(ioargs.compression)
compression = compression_args.pop("method")

# Only for write methods
if "r" not in mode and is_path:
check_parent_directory(str(handle))

if compression:
if compression != "zstd":
# compression libraries do not like an explicit text-mode
ioargs.mode = ioargs.mode.replace("t", "")
elif compression == "zstd" and "b" not in ioargs.mode:
# python-zstandard defaults to text mode, but we always expect
# compression libraries to use binary mode.
ioargs.mode += "b"

# GZ Compression
if compression == "gzip":
if is_path:
assert isinstance(handle, str)
# error: Incompatible types in assignment (expression has type
# "GzipFile", variable has type "Union[str, BaseBuffer]")
handle = gzip.GzipFile( # type: ignore[assignment]
filename=handle,
mode=ioargs.mode,
**compression_args,
)
else:
handle = gzip.GzipFile(
# No overload variant of "GzipFile" matches argument types
# "Union[str, BaseBuffer]", "str", "Dict[str, Any]"
fileobj=handle, # type: ignore[call-overload]
mode=ioargs.mode,
**compression_args,
)

# BZ Compression
elif compression == "bz2":
# No overload variant of "BZ2File" matches argument types
# "Union[str, BaseBuffer]", "str", "Dict[str, Any]"
handle = bz2.BZ2File( # type: ignore[call-overload]
handle,
mode=ioargs.mode,
**compression_args,
)

# ZIP Compression
elif compression == "zip":
# error: Argument 1 to "_BytesZipFile" has incompatible type "Union[str,
# BaseBuffer]"; expected "Union[Union[str, PathLike[str]],
# ReadBuffer[bytes], WriteBuffer[bytes]]"
handle = _BytesZipFile(
handle, ioargs.mode, **compression_args # type: ignore[arg-type]
)
if handle.mode == "r":
handles.append(handle)
zip_names = handle.namelist()
if len(zip_names) == 1:
handle = handle.open(zip_names.pop())
elif len(zip_names) == 0:
raise ValueError(f"Zero files found in ZIP file {path_or_buf}")
else:
raise ValueError(
"Multiple files found in ZIP file. "
f"Only one file per ZIP: {zip_names}"
)

# XZ Compression
elif compression == "xz":
handle = get_lzma_file()(handle, ioargs.mode)

# Zstd Compression
elif compression == "zstd":
zstd = import_optional_dependency("zstandard")
if "r" in ioargs.mode:
open_args = {"dctx": zstd.ZstdDecompressor(**compression_args)}
else:
open_args = {"cctx": zstd.ZstdCompressor(**compression_args)}
handle = zstd.open(
handle,
mode=ioargs.mode,
**open_args,
)

# Unrecognized Compression
else:
msg = f"Unrecognized compression type: {compression}"
raise ValueError(msg)

assert not isinstance(handle, str)
handles.append(handle)

elif isinstance(handle, str):
# Check whether the filename is to be opened in binary mode.
# Binary mode does not support 'encoding' and 'newline'.
if ioargs.encoding and "b" not in ioargs.mode:
# Encoding
> handle = open(
handle,
ioargs.mode,
encoding=ioargs.encoding,
errors=errors,
newline="",
)
E FileNotFoundError: [Errno 2] No such file or directory: 'Orders_and_Payment_Flow_Certification.csv'

c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\common.py:789: FileNotFoundError
-------------------------------Captured log call--------------------------------
INFO  setup:test_orders_and_payment_flow.py:46 Total URL Present is: 5
Failed test_orders_and_payment_flow.py::TestOrderAndPaymentFlowCertificationProgram::test_Orders_and_Payment_Flow_certification[AA] 0.00
self = <test_orders_and_payment_flow.TestOrderAndPaymentFlowCertificationProgram object at 0x0000020BE11FD7F0>, value = 'AA', initialize_pages = None
testdata = {'contact_no': '123456789', 'country': ['in', 'us', 'gb', 'au', 'de', 'sg', ...], 'db_type': 'mysql', 'dynamo_db_type': 'dynamo', ...}

@pytest.mark.test_details("0000","high","Order and Payment Flow","Pradeep")
@pytest.mark.parametrize("value", certification_program_course_read_csv())
def test_Orders_and_Payment_Flow_certification(self,value,initialize_pages,testdata):

'''
Objective: Make payment and validate the data in Dynamo db and mySql

Step 01: get url
Step 02: click on Enroll Now CTA
Step 03: Make payment
Step 04: Validate the Dynamo db and MySql daya for the payment
'''
self.add_rows_in_csv('Report.csv')
url_count = self._count_url_txt_file_subdomain('Orders_and_Payment_Flow_Certification.txt')
logging.info(f"Total URL Present is: {url_count}")

# Step 01: get url
counter = 0
> df = pd.read_csv('Orders_and_Payment_Flow_Certification.csv', on_bad_lines='skip')

test_prod\test_orders_and_payment_flow.py:50:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\util\_decorators.py:311: in wrapper
return func(*args, **kwargs)
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\parsers\readers.py:680: in read_csv
return _read(filepath_or_buffer, kwds)
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\parsers\readers.py:575: in _read
parser = TextFileReader(filepath_or_buffer, **kwds)
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\parsers\readers.py:933: in __init__
self._engine = self._make_engine(f, self.engine)
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\parsers\readers.py:1217: in _make_engine
self.handles = get_handle( # type: ignore[call-overload]
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

path_or_buf = 'Orders_and_Payment_Flow_Certification.csv', mode = 'r'

@doc(compression_options=_shared_docs["compression_options"] % "path_or_buf")
def get_handle(
path_or_buf: FilePath | BaseBuffer,
mode: str,
*,
encoding: str | None = None,
compression: CompressionOptions = None,
memory_map: bool = False,
is_text: bool = True,
errors: str | None = None,
storage_options: StorageOptions = None,
) -> IOHandles[str] | IOHandles[bytes]:
"""
Get file handle for given path/buffer and mode.

Parameters
----------
path_or_buf : str or file handle
File path or object.
mode : str
Mode to open path_or_buf with.
encoding : str or None
Encoding to use.
{compression_options}

.. versionchanged:: 1.0.0
May now be a dict with key 'method' as compression mode
and other keys as compression options if compression
mode is 'zip'.

.. versionchanged:: 1.1.0
Passing compression options as keys in dict is now
supported for compression modes 'gzip', 'bz2', 'zstd' and 'zip'.

.. versionchanged:: 1.4.0 Zstandard support.

memory_map : bool, default False
See parsers._parser_params for more information.
is_text : bool, default True
Whether the type of the content passed to the file/buffer is string or
bytes. This is not the same as `"b" not in mode`. If a string content is
passed to a binary file/buffer, a wrapper is inserted.
errors : str, default 'strict'
Specifies how encoding and decoding errors are to be handled.
See the errors argument for :func:`open` for a full list
of options.
storage_options: StorageOptions = None
Passed to _get_filepath_or_buffer

.. versionchanged:: 1.2.0

Returns the dataclass IOHandles
"""
# Windows does not default to utf-8. Set to utf-8 for a consistent behavior
encoding = encoding or "utf-8"

# read_csv does not know whether the buffer is opened in binary/text mode
if _is_binary_mode(path_or_buf, mode) and "b" not in mode:
mode += "b"

# validate encoding and errors
codecs.lookup(encoding)
if isinstance(errors, str):
codecs.lookup_error(errors)

# open URLs
ioargs = _get_filepath_or_buffer(
path_or_buf,
encoding=encoding,
compression=compression,
mode=mode,
storage_options=storage_options,
)

handle = ioargs.filepath_or_buffer
handles: list[BaseBuffer]

# memory mapping needs to be the first step
handle, memory_map, handles = _maybe_memory_map(
handle,
memory_map,
ioargs.encoding,
ioargs.mode,
errors,
ioargs.compression["method"] not in _compression_to_extension,
)

is_path = isinstance(handle, str)
compression_args = dict(ioargs.compression)
compression = compression_args.pop("method")

# Only for write methods
if "r" not in mode and is_path:
check_parent_directory(str(handle))

if compression:
if compression != "zstd":
# compression libraries do not like an explicit text-mode
ioargs.mode = ioargs.mode.replace("t", "")
elif compression == "zstd" and "b" not in ioargs.mode:
# python-zstandard defaults to text mode, but we always expect
# compression libraries to use binary mode.
ioargs.mode += "b"

# GZ Compression
if compression == "gzip":
if is_path:
assert isinstance(handle, str)
# error: Incompatible types in assignment (expression has type
# "GzipFile", variable has type "Union[str, BaseBuffer]")
handle = gzip.GzipFile( # type: ignore[assignment]
filename=handle,
mode=ioargs.mode,
**compression_args,
)
else:
handle = gzip.GzipFile(
# No overload variant of "GzipFile" matches argument types
# "Union[str, BaseBuffer]", "str", "Dict[str, Any]"
fileobj=handle, # type: ignore[call-overload]
mode=ioargs.mode,
**compression_args,
)

# BZ Compression
elif compression == "bz2":
# No overload variant of "BZ2File" matches argument types
# "Union[str, BaseBuffer]", "str", "Dict[str, Any]"
handle = bz2.BZ2File( # type: ignore[call-overload]
handle,
mode=ioargs.mode,
**compression_args,
)

# ZIP Compression
elif compression == "zip":
# error: Argument 1 to "_BytesZipFile" has incompatible type "Union[str,
# BaseBuffer]"; expected "Union[Union[str, PathLike[str]],
# ReadBuffer[bytes], WriteBuffer[bytes]]"
handle = _BytesZipFile(
handle, ioargs.mode, **compression_args # type: ignore[arg-type]
)
if handle.mode == "r":
handles.append(handle)
zip_names = handle.namelist()
if len(zip_names) == 1:
handle = handle.open(zip_names.pop())
elif len(zip_names) == 0:
raise ValueError(f"Zero files found in ZIP file {path_or_buf}")
else:
raise ValueError(
"Multiple files found in ZIP file. "
f"Only one file per ZIP: {zip_names}"
)

# XZ Compression
elif compression == "xz":
handle = get_lzma_file()(handle, ioargs.mode)

# Zstd Compression
elif compression == "zstd":
zstd = import_optional_dependency("zstandard")
if "r" in ioargs.mode:
open_args = {"dctx": zstd.ZstdDecompressor(**compression_args)}
else:
open_args = {"cctx": zstd.ZstdCompressor(**compression_args)}
handle = zstd.open(
handle,
mode=ioargs.mode,
**open_args,
)

# Unrecognized Compression
else:
msg = f"Unrecognized compression type: {compression}"
raise ValueError(msg)

assert not isinstance(handle, str)
handles.append(handle)

elif isinstance(handle, str):
# Check whether the filename is to be opened in binary mode.
# Binary mode does not support 'encoding' and 'newline'.
if ioargs.encoding and "b" not in ioargs.mode:
# Encoding
> handle = open(
handle,
ioargs.mode,
encoding=ioargs.encoding,
errors=errors,
newline="",
)
E FileNotFoundError: [Errno 2] No such file or directory: 'Orders_and_Payment_Flow_Certification.csv'

c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\common.py:789: FileNotFoundError
-------------------------------Captured log call--------------------------------
INFO  setup:test_orders_and_payment_flow.py:46 Total URL Present is: 5
Failed test_orders_and_payment_flow.py::TestOrderAndPaymentFlowCertificationProgram::test_Orders_and_Payment_Flow_certification[AB] 0.00
self = <test_orders_and_payment_flow.TestOrderAndPaymentFlowCertificationProgram object at 0x0000020BE109E280>, value = 'AB', initialize_pages = None
testdata = {'contact_no': '123456789', 'country': ['in', 'us', 'gb', 'au', 'de', 'sg', ...], 'db_type': 'mysql', 'dynamo_db_type': 'dynamo', ...}

@pytest.mark.test_details("0000","high","Order and Payment Flow","Pradeep")
@pytest.mark.parametrize("value", certification_program_course_read_csv())
def test_Orders_and_Payment_Flow_certification(self,value,initialize_pages,testdata):

'''
Objective: Make payment and validate the data in Dynamo db and mySql

Step 01: get url
Step 02: click on Enroll Now CTA
Step 03: Make payment
Step 04: Validate the Dynamo db and MySql daya for the payment
'''
self.add_rows_in_csv('Report.csv')
url_count = self._count_url_txt_file_subdomain('Orders_and_Payment_Flow_Certification.txt')
logging.info(f"Total URL Present is: {url_count}")

# Step 01: get url
counter = 0
> df = pd.read_csv('Orders_and_Payment_Flow_Certification.csv', on_bad_lines='skip')

test_prod\test_orders_and_payment_flow.py:50:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\util\_decorators.py:311: in wrapper
return func(*args, **kwargs)
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\parsers\readers.py:680: in read_csv
return _read(filepath_or_buffer, kwds)
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\parsers\readers.py:575: in _read
parser = TextFileReader(filepath_or_buffer, **kwds)
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\parsers\readers.py:933: in __init__
self._engine = self._make_engine(f, self.engine)
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\parsers\readers.py:1217: in _make_engine
self.handles = get_handle( # type: ignore[call-overload]
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

path_or_buf = 'Orders_and_Payment_Flow_Certification.csv', mode = 'r'

@doc(compression_options=_shared_docs["compression_options"] % "path_or_buf")
def get_handle(
path_or_buf: FilePath | BaseBuffer,
mode: str,
*,
encoding: str | None = None,
compression: CompressionOptions = None,
memory_map: bool = False,
is_text: bool = True,
errors: str | None = None,
storage_options: StorageOptions = None,
) -> IOHandles[str] | IOHandles[bytes]:
"""
Get file handle for given path/buffer and mode.

Parameters
----------
path_or_buf : str or file handle
File path or object.
mode : str
Mode to open path_or_buf with.
encoding : str or None
Encoding to use.
{compression_options}

.. versionchanged:: 1.0.0
May now be a dict with key 'method' as compression mode
and other keys as compression options if compression
mode is 'zip'.

.. versionchanged:: 1.1.0
Passing compression options as keys in dict is now
supported for compression modes 'gzip', 'bz2', 'zstd' and 'zip'.

.. versionchanged:: 1.4.0 Zstandard support.

memory_map : bool, default False
See parsers._parser_params for more information.
is_text : bool, default True
Whether the type of the content passed to the file/buffer is string or
bytes. This is not the same as `"b" not in mode`. If a string content is
passed to a binary file/buffer, a wrapper is inserted.
errors : str, default 'strict'
Specifies how encoding and decoding errors are to be handled.
See the errors argument for :func:`open` for a full list
of options.
storage_options: StorageOptions = None
Passed to _get_filepath_or_buffer

.. versionchanged:: 1.2.0

Returns the dataclass IOHandles
"""
# Windows does not default to utf-8. Set to utf-8 for a consistent behavior
encoding = encoding or "utf-8"

# read_csv does not know whether the buffer is opened in binary/text mode
if _is_binary_mode(path_or_buf, mode) and "b" not in mode:
mode += "b"

# validate encoding and errors
codecs.lookup(encoding)
if isinstance(errors, str):
codecs.lookup_error(errors)

# open URLs
ioargs = _get_filepath_or_buffer(
path_or_buf,
encoding=encoding,
compression=compression,
mode=mode,
storage_options=storage_options,
)

handle = ioargs.filepath_or_buffer
handles: list[BaseBuffer]

# memory mapping needs to be the first step
handle, memory_map, handles = _maybe_memory_map(
handle,
memory_map,
ioargs.encoding,
ioargs.mode,
errors,
ioargs.compression["method"] not in _compression_to_extension,
)

is_path = isinstance(handle, str)
compression_args = dict(ioargs.compression)
compression = compression_args.pop("method")

# Only for write methods
if "r" not in mode and is_path:
check_parent_directory(str(handle))

if compression:
if compression != "zstd":
# compression libraries do not like an explicit text-mode
ioargs.mode = ioargs.mode.replace("t", "")
elif compression == "zstd" and "b" not in ioargs.mode:
# python-zstandard defaults to text mode, but we always expect
# compression libraries to use binary mode.
ioargs.mode += "b"

# GZ Compression
if compression == "gzip":
if is_path:
assert isinstance(handle, str)
# error: Incompatible types in assignment (expression has type
# "GzipFile", variable has type "Union[str, BaseBuffer]")
handle = gzip.GzipFile( # type: ignore[assignment]
filename=handle,
mode=ioargs.mode,
**compression_args,
)
else:
handle = gzip.GzipFile(
# No overload variant of "GzipFile" matches argument types
# "Union[str, BaseBuffer]", "str", "Dict[str, Any]"
fileobj=handle, # type: ignore[call-overload]
mode=ioargs.mode,
**compression_args,
)

# BZ Compression
elif compression == "bz2":
# No overload variant of "BZ2File" matches argument types
# "Union[str, BaseBuffer]", "str", "Dict[str, Any]"
handle = bz2.BZ2File( # type: ignore[call-overload]
handle,
mode=ioargs.mode,
**compression_args,
)

# ZIP Compression
elif compression == "zip":
# error: Argument 1 to "_BytesZipFile" has incompatible type "Union[str,
# BaseBuffer]"; expected "Union[Union[str, PathLike[str]],
# ReadBuffer[bytes], WriteBuffer[bytes]]"
handle = _BytesZipFile(
handle, ioargs.mode, **compression_args # type: ignore[arg-type]
)
if handle.mode == "r":
handles.append(handle)
zip_names = handle.namelist()
if len(zip_names) == 1:
handle = handle.open(zip_names.pop())
elif len(zip_names) == 0:
raise ValueError(f"Zero files found in ZIP file {path_or_buf}")
else:
raise ValueError(
"Multiple files found in ZIP file. "
f"Only one file per ZIP: {zip_names}"
)

# XZ Compression
elif compression == "xz":
handle = get_lzma_file()(handle, ioargs.mode)

# Zstd Compression
elif compression == "zstd":
zstd = import_optional_dependency("zstandard")
if "r" in ioargs.mode:
open_args = {"dctx": zstd.ZstdDecompressor(**compression_args)}
else:
open_args = {"cctx": zstd.ZstdCompressor(**compression_args)}
handle = zstd.open(
handle,
mode=ioargs.mode,
**open_args,
)

# Unrecognized Compression
else:
msg = f"Unrecognized compression type: {compression}"
raise ValueError(msg)

assert not isinstance(handle, str)
handles.append(handle)

elif isinstance(handle, str):
# Check whether the filename is to be opened in binary mode.
# Binary mode does not support 'encoding' and 'newline'.
if ioargs.encoding and "b" not in ioargs.mode:
# Encoding
> handle = open(
handle,
ioargs.mode,
encoding=ioargs.encoding,
errors=errors,
newline="",
)
E FileNotFoundError: [Errno 2] No such file or directory: 'Orders_and_Payment_Flow_Certification.csv'

c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\common.py:789: FileNotFoundError
-------------------------------Captured log call--------------------------------
INFO  setup:test_orders_and_payment_flow.py:46 Total URL Present is: 5
Failed test_orders_and_payment_flow.py::TestOrderAndPaymentFlowCertificationProgram::test_Orders_and_Payment_Flow_certification[AC] 0.00
self = <test_orders_and_payment_flow.TestOrderAndPaymentFlowCertificationProgram object at 0x0000020BE140FB80>, value = 'AC', initialize_pages = None
testdata = {'contact_no': '123456789', 'country': ['in', 'us', 'gb', 'au', 'de', 'sg', ...], 'db_type': 'mysql', 'dynamo_db_type': 'dynamo', ...}

@pytest.mark.test_details("0000","high","Order and Payment Flow","Pradeep")
@pytest.mark.parametrize("value", certification_program_course_read_csv())
def test_Orders_and_Payment_Flow_certification(self,value,initialize_pages,testdata):

'''
Objective: Make payment and validate the data in Dynamo db and mySql

Step 01: get url
Step 02: click on Enroll Now CTA
Step 03: Make payment
Step 04: Validate the Dynamo db and MySql daya for the payment
'''
self.add_rows_in_csv('Report.csv')
url_count = self._count_url_txt_file_subdomain('Orders_and_Payment_Flow_Certification.txt')
logging.info(f"Total URL Present is: {url_count}")

# Step 01: get url
counter = 0
> df = pd.read_csv('Orders_and_Payment_Flow_Certification.csv', on_bad_lines='skip')

test_prod\test_orders_and_payment_flow.py:50:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\util\_decorators.py:311: in wrapper
return func(*args, **kwargs)
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\parsers\readers.py:680: in read_csv
return _read(filepath_or_buffer, kwds)
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\parsers\readers.py:575: in _read
parser = TextFileReader(filepath_or_buffer, **kwds)
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\parsers\readers.py:933: in __init__
self._engine = self._make_engine(f, self.engine)
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\parsers\readers.py:1217: in _make_engine
self.handles = get_handle( # type: ignore[call-overload]
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

path_or_buf = 'Orders_and_Payment_Flow_Certification.csv', mode = 'r'

@doc(compression_options=_shared_docs["compression_options"] % "path_or_buf")
def get_handle(
path_or_buf: FilePath | BaseBuffer,
mode: str,
*,
encoding: str | None = None,
compression: CompressionOptions = None,
memory_map: bool = False,
is_text: bool = True,
errors: str | None = None,
storage_options: StorageOptions = None,
) -> IOHandles[str] | IOHandles[bytes]:
"""
Get file handle for given path/buffer and mode.

Parameters
----------
path_or_buf : str or file handle
File path or object.
mode : str
Mode to open path_or_buf with.
encoding : str or None
Encoding to use.
{compression_options}

.. versionchanged:: 1.0.0
May now be a dict with key 'method' as compression mode
and other keys as compression options if compression
mode is 'zip'.

.. versionchanged:: 1.1.0
Passing compression options as keys in dict is now
supported for compression modes 'gzip', 'bz2', 'zstd' and 'zip'.

.. versionchanged:: 1.4.0 Zstandard support.

memory_map : bool, default False
See parsers._parser_params for more information.
is_text : bool, default True
Whether the type of the content passed to the file/buffer is string or
bytes. This is not the same as `"b" not in mode`. If a string content is
passed to a binary file/buffer, a wrapper is inserted.
errors : str, default 'strict'
Specifies how encoding and decoding errors are to be handled.
See the errors argument for :func:`open` for a full list
of options.
storage_options: StorageOptions = None
Passed to _get_filepath_or_buffer

.. versionchanged:: 1.2.0

Returns the dataclass IOHandles
"""
# Windows does not default to utf-8. Set to utf-8 for a consistent behavior
encoding = encoding or "utf-8"

# read_csv does not know whether the buffer is opened in binary/text mode
if _is_binary_mode(path_or_buf, mode) and "b" not in mode:
mode += "b"

# validate encoding and errors
codecs.lookup(encoding)
if isinstance(errors, str):
codecs.lookup_error(errors)

# open URLs
ioargs = _get_filepath_or_buffer(
path_or_buf,
encoding=encoding,
compression=compression,
mode=mode,
storage_options=storage_options,
)

handle = ioargs.filepath_or_buffer
handles: list[BaseBuffer]

# memory mapping needs to be the first step
handle, memory_map, handles = _maybe_memory_map(
handle,
memory_map,
ioargs.encoding,
ioargs.mode,
errors,
ioargs.compression["method"] not in _compression_to_extension,
)

is_path = isinstance(handle, str)
compression_args = dict(ioargs.compression)
compression = compression_args.pop("method")

# Only for write methods
if "r" not in mode and is_path:
check_parent_directory(str(handle))

if compression:
if compression != "zstd":
# compression libraries do not like an explicit text-mode
ioargs.mode = ioargs.mode.replace("t", "")
elif compression == "zstd" and "b" not in ioargs.mode:
# python-zstandard defaults to text mode, but we always expect
# compression libraries to use binary mode.
ioargs.mode += "b"

# GZ Compression
if compression == "gzip":
if is_path:
assert isinstance(handle, str)
# error: Incompatible types in assignment (expression has type
# "GzipFile", variable has type "Union[str, BaseBuffer]")
handle = gzip.GzipFile( # type: ignore[assignment]
filename=handle,
mode=ioargs.mode,
**compression_args,
)
else:
handle = gzip.GzipFile(
# No overload variant of "GzipFile" matches argument types
# "Union[str, BaseBuffer]", "str", "Dict[str, Any]"
fileobj=handle, # type: ignore[call-overload]
mode=ioargs.mode,
**compression_args,
)

# BZ Compression
elif compression == "bz2":
# No overload variant of "BZ2File" matches argument types
# "Union[str, BaseBuffer]", "str", "Dict[str, Any]"
handle = bz2.BZ2File( # type: ignore[call-overload]
handle,
mode=ioargs.mode,
**compression_args,
)

# ZIP Compression
elif compression == "zip":
# error: Argument 1 to "_BytesZipFile" has incompatible type "Union[str,
# BaseBuffer]"; expected "Union[Union[str, PathLike[str]],
# ReadBuffer[bytes], WriteBuffer[bytes]]"
handle = _BytesZipFile(
handle, ioargs.mode, **compression_args # type: ignore[arg-type]
)
if handle.mode == "r":
handles.append(handle)
zip_names = handle.namelist()
if len(zip_names) == 1:
handle = handle.open(zip_names.pop())
elif len(zip_names) == 0:
raise ValueError(f"Zero files found in ZIP file {path_or_buf}")
else:
raise ValueError(
"Multiple files found in ZIP file. "
f"Only one file per ZIP: {zip_names}"
)

# XZ Compression
elif compression == "xz":
handle = get_lzma_file()(handle, ioargs.mode)

# Zstd Compression
elif compression == "zstd":
zstd = import_optional_dependency("zstandard")
if "r" in ioargs.mode:
open_args = {"dctx": zstd.ZstdDecompressor(**compression_args)}
else:
open_args = {"cctx": zstd.ZstdCompressor(**compression_args)}
handle = zstd.open(
handle,
mode=ioargs.mode,
**open_args,
)

# Unrecognized Compression
else:
msg = f"Unrecognized compression type: {compression}"
raise ValueError(msg)

assert not isinstance(handle, str)
handles.append(handle)

elif isinstance(handle, str):
# Check whether the filename is to be opened in binary mode.
# Binary mode does not support 'encoding' and 'newline'.
if ioargs.encoding and "b" not in ioargs.mode:
# Encoding
> handle = open(
handle,
ioargs.mode,
encoding=ioargs.encoding,
errors=errors,
newline="",
)
E FileNotFoundError: [Errno 2] No such file or directory: 'Orders_and_Payment_Flow_Certification.csv'

c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\common.py:789: FileNotFoundError
-------------------------------Captured log call--------------------------------
INFO  setup:test_orders_and_payment_flow.py:46 Total URL Present is: 5
Failed test_orders_and_payment_flow.py::TestOrderAndPaymentFlowCertificationProgram::test_Orders_and_Payment_Flow_certification[AD] 0.00
self = <test_orders_and_payment_flow.TestOrderAndPaymentFlowCertificationProgram object at 0x0000020BE1282730>, value = 'AD', initialize_pages = None
testdata = {'contact_no': '123456789', 'country': ['in', 'us', 'gb', 'au', 'de', 'sg', ...], 'db_type': 'mysql', 'dynamo_db_type': 'dynamo', ...}

@pytest.mark.test_details("0000","high","Order and Payment Flow","Pradeep")
@pytest.mark.parametrize("value", certification_program_course_read_csv())
def test_Orders_and_Payment_Flow_certification(self,value,initialize_pages,testdata):

'''
Objective: Make payment and validate the data in Dynamo db and mySql

Step 01: get url
Step 02: click on Enroll Now CTA
Step 03: Make payment
Step 04: Validate the Dynamo db and MySql daya for the payment
'''
self.add_rows_in_csv('Report.csv')
url_count = self._count_url_txt_file_subdomain('Orders_and_Payment_Flow_Certification.txt')
logging.info(f"Total URL Present is: {url_count}")

# Step 01: get url
counter = 0
> df = pd.read_csv('Orders_and_Payment_Flow_Certification.csv', on_bad_lines='skip')

test_prod\test_orders_and_payment_flow.py:50:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\util\_decorators.py:311: in wrapper
return func(*args, **kwargs)
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\parsers\readers.py:680: in read_csv
return _read(filepath_or_buffer, kwds)
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\parsers\readers.py:575: in _read
parser = TextFileReader(filepath_or_buffer, **kwds)
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\parsers\readers.py:933: in __init__
self._engine = self._make_engine(f, self.engine)
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\parsers\readers.py:1217: in _make_engine
self.handles = get_handle( # type: ignore[call-overload]
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

path_or_buf = 'Orders_and_Payment_Flow_Certification.csv', mode = 'r'

@doc(compression_options=_shared_docs["compression_options"] % "path_or_buf")
def get_handle(
path_or_buf: FilePath | BaseBuffer,
mode: str,
*,
encoding: str | None = None,
compression: CompressionOptions = None,
memory_map: bool = False,
is_text: bool = True,
errors: str | None = None,
storage_options: StorageOptions = None,
) -> IOHandles[str] | IOHandles[bytes]:
"""
Get file handle for given path/buffer and mode.

Parameters
----------
path_or_buf : str or file handle
File path or object.
mode : str
Mode to open path_or_buf with.
encoding : str or None
Encoding to use.
{compression_options}

.. versionchanged:: 1.0.0
May now be a dict with key 'method' as compression mode
and other keys as compression options if compression
mode is 'zip'.

.. versionchanged:: 1.1.0
Passing compression options as keys in dict is now
supported for compression modes 'gzip', 'bz2', 'zstd' and 'zip'.

.. versionchanged:: 1.4.0 Zstandard support.

memory_map : bool, default False
See parsers._parser_params for more information.
is_text : bool, default True
Whether the type of the content passed to the file/buffer is string or
bytes. This is not the same as `"b" not in mode`. If a string content is
passed to a binary file/buffer, a wrapper is inserted.
errors : str, default 'strict'
Specifies how encoding and decoding errors are to be handled.
See the errors argument for :func:`open` for a full list
of options.
storage_options: StorageOptions = None
Passed to _get_filepath_or_buffer

.. versionchanged:: 1.2.0

Returns the dataclass IOHandles
"""
# Windows does not default to utf-8. Set to utf-8 for a consistent behavior
encoding = encoding or "utf-8"

# read_csv does not know whether the buffer is opened in binary/text mode
if _is_binary_mode(path_or_buf, mode) and "b" not in mode:
mode += "b"

# validate encoding and errors
codecs.lookup(encoding)
if isinstance(errors, str):
codecs.lookup_error(errors)

# open URLs
ioargs = _get_filepath_or_buffer(
path_or_buf,
encoding=encoding,
compression=compression,
mode=mode,
storage_options=storage_options,
)

handle = ioargs.filepath_or_buffer
handles: list[BaseBuffer]

# memory mapping needs to be the first step
handle, memory_map, handles = _maybe_memory_map(
handle,
memory_map,
ioargs.encoding,
ioargs.mode,
errors,
ioargs.compression["method"] not in _compression_to_extension,
)

is_path = isinstance(handle, str)
compression_args = dict(ioargs.compression)
compression = compression_args.pop("method")

# Only for write methods
if "r" not in mode and is_path:
check_parent_directory(str(handle))

if compression:
if compression != "zstd":
# compression libraries do not like an explicit text-mode
ioargs.mode = ioargs.mode.replace("t", "")
elif compression == "zstd" and "b" not in ioargs.mode:
# python-zstandard defaults to text mode, but we always expect
# compression libraries to use binary mode.
ioargs.mode += "b"

# GZ Compression
if compression == "gzip":
if is_path:
assert isinstance(handle, str)
# error: Incompatible types in assignment (expression has type
# "GzipFile", variable has type "Union[str, BaseBuffer]")
handle = gzip.GzipFile( # type: ignore[assignment]
filename=handle,
mode=ioargs.mode,
**compression_args,
)
else:
handle = gzip.GzipFile(
# No overload variant of "GzipFile" matches argument types
# "Union[str, BaseBuffer]", "str", "Dict[str, Any]"
fileobj=handle, # type: ignore[call-overload]
mode=ioargs.mode,
**compression_args,
)

# BZ Compression
elif compression == "bz2":
# No overload variant of "BZ2File" matches argument types
# "Union[str, BaseBuffer]", "str", "Dict[str, Any]"
handle = bz2.BZ2File( # type: ignore[call-overload]
handle,
mode=ioargs.mode,
**compression_args,
)

# ZIP Compression
elif compression == "zip":
# error: Argument 1 to "_BytesZipFile" has incompatible type "Union[str,
# BaseBuffer]"; expected "Union[Union[str, PathLike[str]],
# ReadBuffer[bytes], WriteBuffer[bytes]]"
handle = _BytesZipFile(
handle, ioargs.mode, **compression_args # type: ignore[arg-type]
)
if handle.mode == "r":
handles.append(handle)
zip_names = handle.namelist()
if len(zip_names) == 1:
handle = handle.open(zip_names.pop())
elif len(zip_names) == 0:
raise ValueError(f"Zero files found in ZIP file {path_or_buf}")
else:
raise ValueError(
"Multiple files found in ZIP file. "
f"Only one file per ZIP: {zip_names}"
)

# XZ Compression
elif compression == "xz":
handle = get_lzma_file()(handle, ioargs.mode)

# Zstd Compression
elif compression == "zstd":
zstd = import_optional_dependency("zstandard")
if "r" in ioargs.mode:
open_args = {"dctx": zstd.ZstdDecompressor(**compression_args)}
else:
open_args = {"cctx": zstd.ZstdCompressor(**compression_args)}
handle = zstd.open(
handle,
mode=ioargs.mode,
**open_args,
)

# Unrecognized Compression
else:
msg = f"Unrecognized compression type: {compression}"
raise ValueError(msg)

assert not isinstance(handle, str)
handles.append(handle)

elif isinstance(handle, str):
# Check whether the filename is to be opened in binary mode.
# Binary mode does not support 'encoding' and 'newline'.
if ioargs.encoding and "b" not in ioargs.mode:
# Encoding
> handle = open(
handle,
ioargs.mode,
encoding=ioargs.encoding,
errors=errors,
newline="",
)
E FileNotFoundError: [Errno 2] No such file or directory: 'Orders_and_Payment_Flow_Certification.csv'

c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\common.py:789: FileNotFoundError
-------------------------------Captured log call--------------------------------
INFO  setup:test_orders_and_payment_flow.py:46 Total URL Present is: 5
Failed test_orders_and_payment_flow.py::TestOrderAndPaymentFlowCertificationProgram::test_Orders_and_Payment_Flow_certification[AE] 0.00
self = <test_orders_and_payment_flow.TestOrderAndPaymentFlowCertificationProgram object at 0x0000020BE0D79460>, value = 'AE', initialize_pages = None
testdata = {'contact_no': '123456789', 'country': ['in', 'us', 'gb', 'au', 'de', 'sg', ...], 'db_type': 'mysql', 'dynamo_db_type': 'dynamo', ...}

@pytest.mark.test_details("0000","high","Order and Payment Flow","Pradeep")
@pytest.mark.parametrize("value", certification_program_course_read_csv())
def test_Orders_and_Payment_Flow_certification(self,value,initialize_pages,testdata):

'''
Objective: Make payment and validate the data in Dynamo db and mySql

Step 01: get url
Step 02: click on Enroll Now CTA
Step 03: Make payment
Step 04: Validate the Dynamo db and MySql daya for the payment
'''
self.add_rows_in_csv('Report.csv')
url_count = self._count_url_txt_file_subdomain('Orders_and_Payment_Flow_Certification.txt')
logging.info(f"Total URL Present is: {url_count}")

# Step 01: get url
counter = 0
> df = pd.read_csv('Orders_and_Payment_Flow_Certification.csv', on_bad_lines='skip')

test_prod\test_orders_and_payment_flow.py:50:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\util\_decorators.py:311: in wrapper
return func(*args, **kwargs)
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\parsers\readers.py:680: in read_csv
return _read(filepath_or_buffer, kwds)
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\parsers\readers.py:575: in _read
parser = TextFileReader(filepath_or_buffer, **kwds)
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\parsers\readers.py:933: in __init__
self._engine = self._make_engine(f, self.engine)
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\parsers\readers.py:1217: in _make_engine
self.handles = get_handle( # type: ignore[call-overload]
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

path_or_buf = 'Orders_and_Payment_Flow_Certification.csv', mode = 'r'

@doc(compression_options=_shared_docs["compression_options"] % "path_or_buf")
def get_handle(
path_or_buf: FilePath | BaseBuffer,
mode: str,
*,
encoding: str | None = None,
compression: CompressionOptions = None,
memory_map: bool = False,
is_text: bool = True,
errors: str | None = None,
storage_options: StorageOptions = None,
) -> IOHandles[str] | IOHandles[bytes]:
"""
Get file handle for given path/buffer and mode.

Parameters
----------
path_or_buf : str or file handle
File path or object.
mode : str
Mode to open path_or_buf with.
encoding : str or None
Encoding to use.
{compression_options}

.. versionchanged:: 1.0.0
May now be a dict with key 'method' as compression mode
and other keys as compression options if compression
mode is 'zip'.

.. versionchanged:: 1.1.0
Passing compression options as keys in dict is now
supported for compression modes 'gzip', 'bz2', 'zstd' and 'zip'.

.. versionchanged:: 1.4.0 Zstandard support.

memory_map : bool, default False
See parsers._parser_params for more information.
is_text : bool, default True
Whether the type of the content passed to the file/buffer is string or
bytes. This is not the same as `"b" not in mode`. If a string content is
passed to a binary file/buffer, a wrapper is inserted.
errors : str, default 'strict'
Specifies how encoding and decoding errors are to be handled.
See the errors argument for :func:`open` for a full list
of options.
storage_options: StorageOptions = None
Passed to _get_filepath_or_buffer

.. versionchanged:: 1.2.0

Returns the dataclass IOHandles
"""
# Windows does not default to utf-8. Set to utf-8 for a consistent behavior
encoding = encoding or "utf-8"

# read_csv does not know whether the buffer is opened in binary/text mode
if _is_binary_mode(path_or_buf, mode) and "b" not in mode:
mode += "b"

# validate encoding and errors
codecs.lookup(encoding)
if isinstance(errors, str):
codecs.lookup_error(errors)

# open URLs
ioargs = _get_filepath_or_buffer(
path_or_buf,
encoding=encoding,
compression=compression,
mode=mode,
storage_options=storage_options,
)

handle = ioargs.filepath_or_buffer
handles: list[BaseBuffer]

# memory mapping needs to be the first step
handle, memory_map, handles = _maybe_memory_map(
handle,
memory_map,
ioargs.encoding,
ioargs.mode,
errors,
ioargs.compression["method"] not in _compression_to_extension,
)

is_path = isinstance(handle, str)
compression_args = dict(ioargs.compression)
compression = compression_args.pop("method")

# Only for write methods
if "r" not in mode and is_path:
check_parent_directory(str(handle))

if compression:
if compression != "zstd":
# compression libraries do not like an explicit text-mode
ioargs.mode = ioargs.mode.replace("t", "")
elif compression == "zstd" and "b" not in ioargs.mode:
# python-zstandard defaults to text mode, but we always expect
# compression libraries to use binary mode.
ioargs.mode += "b"

# GZ Compression
if compression == "gzip":
if is_path:
assert isinstance(handle, str)
# error: Incompatible types in assignment (expression has type
# "GzipFile", variable has type "Union[str, BaseBuffer]")
handle = gzip.GzipFile( # type: ignore[assignment]
filename=handle,
mode=ioargs.mode,
**compression_args,
)
else:
handle = gzip.GzipFile(
# No overload variant of "GzipFile" matches argument types
# "Union[str, BaseBuffer]", "str", "Dict[str, Any]"
fileobj=handle, # type: ignore[call-overload]
mode=ioargs.mode,
**compression_args,
)

# BZ Compression
elif compression == "bz2":
# No overload variant of "BZ2File" matches argument types
# "Union[str, BaseBuffer]", "str", "Dict[str, Any]"
handle = bz2.BZ2File( # type: ignore[call-overload]
handle,
mode=ioargs.mode,
**compression_args,
)

# ZIP Compression
elif compression == "zip":
# error: Argument 1 to "_BytesZipFile" has incompatible type "Union[str,
# BaseBuffer]"; expected "Union[Union[str, PathLike[str]],
# ReadBuffer[bytes], WriteBuffer[bytes]]"
handle = _BytesZipFile(
handle, ioargs.mode, **compression_args # type: ignore[arg-type]
)
if handle.mode == "r":
handles.append(handle)
zip_names = handle.namelist()
if len(zip_names) == 1:
handle = handle.open(zip_names.pop())
elif len(zip_names) == 0:
raise ValueError(f"Zero files found in ZIP file {path_or_buf}")
else:
raise ValueError(
"Multiple files found in ZIP file. "
f"Only one file per ZIP: {zip_names}"
)

# XZ Compression
elif compression == "xz":
handle = get_lzma_file()(handle, ioargs.mode)

# Zstd Compression
elif compression == "zstd":
zstd = import_optional_dependency("zstandard")
if "r" in ioargs.mode:
open_args = {"dctx": zstd.ZstdDecompressor(**compression_args)}
else:
open_args = {"cctx": zstd.ZstdCompressor(**compression_args)}
handle = zstd.open(
handle,
mode=ioargs.mode,
**open_args,
)

# Unrecognized Compression
else:
msg = f"Unrecognized compression type: {compression}"
raise ValueError(msg)

assert not isinstance(handle, str)
handles.append(handle)

elif isinstance(handle, str):
# Check whether the filename is to be opened in binary mode.
# Binary mode does not support 'encoding' and 'newline'.
if ioargs.encoding and "b" not in ioargs.mode:
# Encoding
> handle = open(
handle,
ioargs.mode,
encoding=ioargs.encoding,
errors=errors,
newline="",
)
E FileNotFoundError: [Errno 2] No such file or directory: 'Orders_and_Payment_Flow_Certification.csv'

c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\common.py:789: FileNotFoundError
-------------------------------Captured log call--------------------------------
INFO  setup:test_orders_and_payment_flow.py:46 Total URL Present is: 5
Failed test_orders_and_payment_flow.py::TestOrderAndPaymentFlowCertificationProgram::test_Orders_and_Payment_Flow_certification[AF] 0.00
self = <test_orders_and_payment_flow.TestOrderAndPaymentFlowCertificationProgram object at 0x0000020BE111C850>, value = 'AF', initialize_pages = None
testdata = {'contact_no': '123456789', 'country': ['in', 'us', 'gb', 'au', 'de', 'sg', ...], 'db_type': 'mysql', 'dynamo_db_type': 'dynamo', ...}

@pytest.mark.test_details("0000","high","Order and Payment Flow","Pradeep")
@pytest.mark.parametrize("value", certification_program_course_read_csv())
def test_Orders_and_Payment_Flow_certification(self,value,initialize_pages,testdata):

'''
Objective: Make payment and validate the data in Dynamo db and mySql

Step 01: get url
Step 02: click on Enroll Now CTA
Step 03: Make payment
Step 04: Validate the Dynamo db and MySql daya for the payment
'''
self.add_rows_in_csv('Report.csv')
url_count = self._count_url_txt_file_subdomain('Orders_and_Payment_Flow_Certification.txt')
logging.info(f"Total URL Present is: {url_count}")

# Step 01: get url
counter = 0
> df = pd.read_csv('Orders_and_Payment_Flow_Certification.csv', on_bad_lines='skip')

test_prod\test_orders_and_payment_flow.py:50:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\util\_decorators.py:311: in wrapper
return func(*args, **kwargs)
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\parsers\readers.py:680: in read_csv
return _read(filepath_or_buffer, kwds)
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\parsers\readers.py:575: in _read
parser = TextFileReader(filepath_or_buffer, **kwds)
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\parsers\readers.py:933: in __init__
self._engine = self._make_engine(f, self.engine)
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\parsers\readers.py:1217: in _make_engine
self.handles = get_handle( # type: ignore[call-overload]
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

path_or_buf = 'Orders_and_Payment_Flow_Certification.csv', mode = 'r'

@doc(compression_options=_shared_docs["compression_options"] % "path_or_buf")
def get_handle(
path_or_buf: FilePath | BaseBuffer,
mode: str,
*,
encoding: str | None = None,
compression: CompressionOptions = None,
memory_map: bool = False,
is_text: bool = True,
errors: str | None = None,
storage_options: StorageOptions = None,
) -> IOHandles[str] | IOHandles[bytes]:
"""
Get file handle for given path/buffer and mode.

Parameters
----------
path_or_buf : str or file handle
File path or object.
mode : str
Mode to open path_or_buf with.
encoding : str or None
Encoding to use.
{compression_options}

.. versionchanged:: 1.0.0
May now be a dict with key 'method' as compression mode
and other keys as compression options if compression
mode is 'zip'.

.. versionchanged:: 1.1.0
Passing compression options as keys in dict is now
supported for compression modes 'gzip', 'bz2', 'zstd' and 'zip'.

.. versionchanged:: 1.4.0 Zstandard support.

memory_map : bool, default False
See parsers._parser_params for more information.
is_text : bool, default True
Whether the type of the content passed to the file/buffer is string or
bytes. This is not the same as `"b" not in mode`. If a string content is
passed to a binary file/buffer, a wrapper is inserted.
errors : str, default 'strict'
Specifies how encoding and decoding errors are to be handled.
See the errors argument for :func:`open` for a full list
of options.
storage_options: StorageOptions = None
Passed to _get_filepath_or_buffer

.. versionchanged:: 1.2.0

Returns the dataclass IOHandles
"""
# Windows does not default to utf-8. Set to utf-8 for a consistent behavior
encoding = encoding or "utf-8"

# read_csv does not know whether the buffer is opened in binary/text mode
if _is_binary_mode(path_or_buf, mode) and "b" not in mode:
mode += "b"

# validate encoding and errors
codecs.lookup(encoding)
if isinstance(errors, str):
codecs.lookup_error(errors)

# open URLs
ioargs = _get_filepath_or_buffer(
path_or_buf,
encoding=encoding,
compression=compression,
mode=mode,
storage_options=storage_options,
)

handle = ioargs.filepath_or_buffer
handles: list[BaseBuffer]

# memory mapping needs to be the first step
handle, memory_map, handles = _maybe_memory_map(
handle,
memory_map,
ioargs.encoding,
ioargs.mode,
errors,
ioargs.compression["method"] not in _compression_to_extension,
)

is_path = isinstance(handle, str)
compression_args = dict(ioargs.compression)
compression = compression_args.pop("method")

# Only for write methods
if "r" not in mode and is_path:
check_parent_directory(str(handle))

if compression:
if compression != "zstd":
# compression libraries do not like an explicit text-mode
ioargs.mode = ioargs.mode.replace("t", "")
elif compression == "zstd" and "b" not in ioargs.mode:
# python-zstandard defaults to text mode, but we always expect
# compression libraries to use binary mode.
ioargs.mode += "b"

# GZ Compression
if compression == "gzip":
if is_path:
assert isinstance(handle, str)
# error: Incompatible types in assignment (expression has type
# "GzipFile", variable has type "Union[str, BaseBuffer]")
handle = gzip.GzipFile( # type: ignore[assignment]
filename=handle,
mode=ioargs.mode,
**compression_args,
)
else:
handle = gzip.GzipFile(
# No overload variant of "GzipFile" matches argument types
# "Union[str, BaseBuffer]", "str", "Dict[str, Any]"
fileobj=handle, # type: ignore[call-overload]
mode=ioargs.mode,
**compression_args,
)

# BZ Compression
elif compression == "bz2":
# No overload variant of "BZ2File" matches argument types
# "Union[str, BaseBuffer]", "str", "Dict[str, Any]"
handle = bz2.BZ2File( # type: ignore[call-overload]
handle,
mode=ioargs.mode,
**compression_args,
)

# ZIP Compression
elif compression == "zip":
# error: Argument 1 to "_BytesZipFile" has incompatible type "Union[str,
# BaseBuffer]"; expected "Union[Union[str, PathLike[str]],
# ReadBuffer[bytes], WriteBuffer[bytes]]"
handle = _BytesZipFile(
handle, ioargs.mode, **compression_args # type: ignore[arg-type]
)
if handle.mode == "r":
handles.append(handle)
zip_names = handle.namelist()
if len(zip_names) == 1:
handle = handle.open(zip_names.pop())
elif len(zip_names) == 0:
raise ValueError(f"Zero files found in ZIP file {path_or_buf}")
else:
raise ValueError(
"Multiple files found in ZIP file. "
f"Only one file per ZIP: {zip_names}"
)

# XZ Compression
elif compression == "xz":
handle = get_lzma_file()(handle, ioargs.mode)

# Zstd Compression
elif compression == "zstd":
zstd = import_optional_dependency("zstandard")
if "r" in ioargs.mode:
open_args = {"dctx": zstd.ZstdDecompressor(**compression_args)}
else:
open_args = {"cctx": zstd.ZstdCompressor(**compression_args)}
handle = zstd.open(
handle,
mode=ioargs.mode,
**open_args,
)

# Unrecognized Compression
else:
msg = f"Unrecognized compression type: {compression}"
raise ValueError(msg)

assert not isinstance(handle, str)
handles.append(handle)

elif isinstance(handle, str):
# Check whether the filename is to be opened in binary mode.
# Binary mode does not support 'encoding' and 'newline'.
if ioargs.encoding and "b" not in ioargs.mode:
# Encoding
> handle = open(
handle,
ioargs.mode,
encoding=ioargs.encoding,
errors=errors,
newline="",
)
E FileNotFoundError: [Errno 2] No such file or directory: 'Orders_and_Payment_Flow_Certification.csv'

c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\common.py:789: FileNotFoundError
-------------------------------Captured log call--------------------------------
INFO  setup:test_orders_and_payment_flow.py:46 Total URL Present is: 5
Failed test_orders_and_payment_flow.py::TestOrderAndPaymentFlowCertificationProgram::test_Orders_and_Payment_Flow_certification[AG] 0.00
self = <test_orders_and_payment_flow.TestOrderAndPaymentFlowCertificationProgram object at 0x0000020BE138BF10>, value = 'AG', initialize_pages = None
testdata = {'contact_no': '123456789', 'country': ['in', 'us', 'gb', 'au', 'de', 'sg', ...], 'db_type': 'mysql', 'dynamo_db_type': 'dynamo', ...}

@pytest.mark.test_details("0000","high","Order and Payment Flow","Pradeep")
@pytest.mark.parametrize("value", certification_program_course_read_csv())
def test_Orders_and_Payment_Flow_certification(self,value,initialize_pages,testdata):

'''
Objective: Make payment and validate the data in Dynamo db and mySql

Step 01: get url
Step 02: click on Enroll Now CTA
Step 03: Make payment
Step 04: Validate the Dynamo db and MySql daya for the payment
'''
self.add_rows_in_csv('Report.csv')
url_count = self._count_url_txt_file_subdomain('Orders_and_Payment_Flow_Certification.txt')
logging.info(f"Total URL Present is: {url_count}")

# Step 01: get url
counter = 0
> df = pd.read_csv('Orders_and_Payment_Flow_Certification.csv', on_bad_lines='skip')

test_prod\test_orders_and_payment_flow.py:50:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\util\_decorators.py:311: in wrapper
return func(*args, **kwargs)
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\parsers\readers.py:680: in read_csv
return _read(filepath_or_buffer, kwds)
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\parsers\readers.py:575: in _read
parser = TextFileReader(filepath_or_buffer, **kwds)
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\parsers\readers.py:933: in __init__
self._engine = self._make_engine(f, self.engine)
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\parsers\readers.py:1217: in _make_engine
self.handles = get_handle( # type: ignore[call-overload]
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

path_or_buf = 'Orders_and_Payment_Flow_Certification.csv', mode = 'r'

@doc(compression_options=_shared_docs["compression_options"] % "path_or_buf")
def get_handle(
path_or_buf: FilePath | BaseBuffer,
mode: str,
*,
encoding: str | None = None,
compression: CompressionOptions = None,
memory_map: bool = False,
is_text: bool = True,
errors: str | None = None,
storage_options: StorageOptions = None,
) -> IOHandles[str] | IOHandles[bytes]:
"""
Get file handle for given path/buffer and mode.

Parameters
----------
path_or_buf : str or file handle
File path or object.
mode : str
Mode to open path_or_buf with.
encoding : str or None
Encoding to use.
{compression_options}

.. versionchanged:: 1.0.0
May now be a dict with key 'method' as compression mode
and other keys as compression options if compression
mode is 'zip'.

.. versionchanged:: 1.1.0
Passing compression options as keys in dict is now
supported for compression modes 'gzip', 'bz2', 'zstd' and 'zip'.

.. versionchanged:: 1.4.0 Zstandard support.

memory_map : bool, default False
See parsers._parser_params for more information.
is_text : bool, default True
Whether the type of the content passed to the file/buffer is string or
bytes. This is not the same as `"b" not in mode`. If a string content is
passed to a binary file/buffer, a wrapper is inserted.
errors : str, default 'strict'
Specifies how encoding and decoding errors are to be handled.
See the errors argument for :func:`open` for a full list
of options.
storage_options: StorageOptions = None
Passed to _get_filepath_or_buffer

.. versionchanged:: 1.2.0

Returns the dataclass IOHandles
"""
# Windows does not default to utf-8. Set to utf-8 for a consistent behavior
encoding = encoding or "utf-8"

# read_csv does not know whether the buffer is opened in binary/text mode
if _is_binary_mode(path_or_buf, mode) and "b" not in mode:
mode += "b"

# validate encoding and errors
codecs.lookup(encoding)
if isinstance(errors, str):
codecs.lookup_error(errors)

# open URLs
ioargs = _get_filepath_or_buffer(
path_or_buf,
encoding=encoding,
compression=compression,
mode=mode,
storage_options=storage_options,
)

handle = ioargs.filepath_or_buffer
handles: list[BaseBuffer]

# memory mapping needs to be the first step
handle, memory_map, handles = _maybe_memory_map(
handle,
memory_map,
ioargs.encoding,
ioargs.mode,
errors,
ioargs.compression["method"] not in _compression_to_extension,
)

is_path = isinstance(handle, str)
compression_args = dict(ioargs.compression)
compression = compression_args.pop("method")

# Only for write methods
if "r" not in mode and is_path:
check_parent_directory(str(handle))

if compression:
if compression != "zstd":
# compression libraries do not like an explicit text-mode
ioargs.mode = ioargs.mode.replace("t", "")
elif compression == "zstd" and "b" not in ioargs.mode:
# python-zstandard defaults to text mode, but we always expect
# compression libraries to use binary mode.
ioargs.mode += "b"

# GZ Compression
if compression == "gzip":
if is_path:
assert isinstance(handle, str)
# error: Incompatible types in assignment (expression has type
# "GzipFile", variable has type "Union[str, BaseBuffer]")
handle = gzip.GzipFile( # type: ignore[assignment]
filename=handle,
mode=ioargs.mode,
**compression_args,
)
else:
handle = gzip.GzipFile(
# No overload variant of "GzipFile" matches argument types
# "Union[str, BaseBuffer]", "str", "Dict[str, Any]"
fileobj=handle, # type: ignore[call-overload]
mode=ioargs.mode,
**compression_args,
)

# BZ Compression
elif compression == "bz2":
# No overload variant of "BZ2File" matches argument types
# "Union[str, BaseBuffer]", "str", "Dict[str, Any]"
handle = bz2.BZ2File( # type: ignore[call-overload]
handle,
mode=ioargs.mode,
**compression_args,
)

# ZIP Compression
elif compression == "zip":
# error: Argument 1 to "_BytesZipFile" has incompatible type "Union[str,
# BaseBuffer]"; expected "Union[Union[str, PathLike[str]],
# ReadBuffer[bytes], WriteBuffer[bytes]]"
handle = _BytesZipFile(
handle, ioargs.mode, **compression_args # type: ignore[arg-type]
)
if handle.mode == "r":
handles.append(handle)
zip_names = handle.namelist()
if len(zip_names) == 1:
handle = handle.open(zip_names.pop())
elif len(zip_names) == 0:
raise ValueError(f"Zero files found in ZIP file {path_or_buf}")
else:
raise ValueError(
"Multiple files found in ZIP file. "
f"Only one file per ZIP: {zip_names}"
)

# XZ Compression
elif compression == "xz":
handle = get_lzma_file()(handle, ioargs.mode)

# Zstd Compression
elif compression == "zstd":
zstd = import_optional_dependency("zstandard")
if "r" in ioargs.mode:
open_args = {"dctx": zstd.ZstdDecompressor(**compression_args)}
else:
open_args = {"cctx": zstd.ZstdCompressor(**compression_args)}
handle = zstd.open(
handle,
mode=ioargs.mode,
**open_args,
)

# Unrecognized Compression
else:
msg = f"Unrecognized compression type: {compression}"
raise ValueError(msg)

assert not isinstance(handle, str)
handles.append(handle)

elif isinstance(handle, str):
# Check whether the filename is to be opened in binary mode.
# Binary mode does not support 'encoding' and 'newline'.
if ioargs.encoding and "b" not in ioargs.mode:
# Encoding
> handle = open(
handle,
ioargs.mode,
encoding=ioargs.encoding,
errors=errors,
newline="",
)
E FileNotFoundError: [Errno 2] No such file or directory: 'Orders_and_Payment_Flow_Certification.csv'

c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\common.py:789: FileNotFoundError
-------------------------------Captured log call--------------------------------
INFO  setup:test_orders_and_payment_flow.py:46 Total URL Present is: 5
Failed test_orders_and_payment_flow.py::TestOrderAndPaymentFlowCertificationProgram::test_Orders_and_Payment_Flow_certification[AH] 0.00
self = <test_orders_and_payment_flow.TestOrderAndPaymentFlowCertificationProgram object at 0x0000020BE134F8B0>, value = 'AH', initialize_pages = None
testdata = {'contact_no': '123456789', 'country': ['in', 'us', 'gb', 'au', 'de', 'sg', ...], 'db_type': 'mysql', 'dynamo_db_type': 'dynamo', ...}

@pytest.mark.test_details("0000","high","Order and Payment Flow","Pradeep")
@pytest.mark.parametrize("value", certification_program_course_read_csv())
def test_Orders_and_Payment_Flow_certification(self,value,initialize_pages,testdata):

'''
Objective: Make payment and validate the data in Dynamo db and mySql

Step 01: get url
Step 02: click on Enroll Now CTA
Step 03: Make payment
Step 04: Validate the Dynamo db and MySql daya for the payment
'''
self.add_rows_in_csv('Report.csv')
url_count = self._count_url_txt_file_subdomain('Orders_and_Payment_Flow_Certification.txt')
logging.info(f"Total URL Present is: {url_count}")

# Step 01: get url
counter = 0
> df = pd.read_csv('Orders_and_Payment_Flow_Certification.csv', on_bad_lines='skip')

test_prod\test_orders_and_payment_flow.py:50:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\util\_decorators.py:311: in wrapper
return func(*args, **kwargs)
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\parsers\readers.py:680: in read_csv
return _read(filepath_or_buffer, kwds)
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\parsers\readers.py:575: in _read
parser = TextFileReader(filepath_or_buffer, **kwds)
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\parsers\readers.py:933: in __init__
self._engine = self._make_engine(f, self.engine)
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\parsers\readers.py:1217: in _make_engine
self.handles = get_handle( # type: ignore[call-overload]
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

path_or_buf = 'Orders_and_Payment_Flow_Certification.csv', mode = 'r'

@doc(compression_options=_shared_docs["compression_options"] % "path_or_buf")
def get_handle(
path_or_buf: FilePath | BaseBuffer,
mode: str,
*,
encoding: str | None = None,
compression: CompressionOptions = None,
memory_map: bool = False,
is_text: bool = True,
errors: str | None = None,
storage_options: StorageOptions = None,
) -> IOHandles[str] | IOHandles[bytes]:
"""
Get file handle for given path/buffer and mode.

Parameters
----------
path_or_buf : str or file handle
File path or object.
mode : str
Mode to open path_or_buf with.
encoding : str or None
Encoding to use.
{compression_options}

.. versionchanged:: 1.0.0
May now be a dict with key 'method' as compression mode
and other keys as compression options if compression
mode is 'zip'.

.. versionchanged:: 1.1.0
Passing compression options as keys in dict is now
supported for compression modes 'gzip', 'bz2', 'zstd' and 'zip'.

.. versionchanged:: 1.4.0 Zstandard support.

memory_map : bool, default False
See parsers._parser_params for more information.
is_text : bool, default True
Whether the type of the content passed to the file/buffer is string or
bytes. This is not the same as `"b" not in mode`. If a string content is
passed to a binary file/buffer, a wrapper is inserted.
errors : str, default 'strict'
Specifies how encoding and decoding errors are to be handled.
See the errors argument for :func:`open` for a full list
of options.
storage_options: StorageOptions = None
Passed to _get_filepath_or_buffer

.. versionchanged:: 1.2.0

Returns the dataclass IOHandles
"""
# Windows does not default to utf-8. Set to utf-8 for a consistent behavior
encoding = encoding or "utf-8"

# read_csv does not know whether the buffer is opened in binary/text mode
if _is_binary_mode(path_or_buf, mode) and "b" not in mode:
mode += "b"

# validate encoding and errors
codecs.lookup(encoding)
if isinstance(errors, str):
codecs.lookup_error(errors)

# open URLs
ioargs = _get_filepath_or_buffer(
path_or_buf,
encoding=encoding,
compression=compression,
mode=mode,
storage_options=storage_options,
)

handle = ioargs.filepath_or_buffer
handles: list[BaseBuffer]

# memory mapping needs to be the first step
handle, memory_map, handles = _maybe_memory_map(
handle,
memory_map,
ioargs.encoding,
ioargs.mode,
errors,
ioargs.compression["method"] not in _compression_to_extension,
)

is_path = isinstance(handle, str)
compression_args = dict(ioargs.compression)
compression = compression_args.pop("method")

# Only for write methods
if "r" not in mode and is_path:
check_parent_directory(str(handle))

if compression:
if compression != "zstd":
# compression libraries do not like an explicit text-mode
ioargs.mode = ioargs.mode.replace("t", "")
elif compression == "zstd" and "b" not in ioargs.mode:
# python-zstandard defaults to text mode, but we always expect
# compression libraries to use binary mode.
ioargs.mode += "b"

# GZ Compression
if compression == "gzip":
if is_path:
assert isinstance(handle, str)
# error: Incompatible types in assignment (expression has type
# "GzipFile", variable has type "Union[str, BaseBuffer]")
handle = gzip.GzipFile( # type: ignore[assignment]
filename=handle,
mode=ioargs.mode,
**compression_args,
)
else:
handle = gzip.GzipFile(
# No overload variant of "GzipFile" matches argument types
# "Union[str, BaseBuffer]", "str", "Dict[str, Any]"
fileobj=handle, # type: ignore[call-overload]
mode=ioargs.mode,
**compression_args,
)

# BZ Compression
elif compression == "bz2":
# No overload variant of "BZ2File" matches argument types
# "Union[str, BaseBuffer]", "str", "Dict[str, Any]"
handle = bz2.BZ2File( # type: ignore[call-overload]
handle,
mode=ioargs.mode,
**compression_args,
)

# ZIP Compression
elif compression == "zip":
# error: Argument 1 to "_BytesZipFile" has incompatible type "Union[str,
# BaseBuffer]"; expected "Union[Union[str, PathLike[str]],
# ReadBuffer[bytes], WriteBuffer[bytes]]"
handle = _BytesZipFile(
handle, ioargs.mode, **compression_args # type: ignore[arg-type]
)
if handle.mode == "r":
handles.append(handle)
zip_names = handle.namelist()
if len(zip_names) == 1:
handle = handle.open(zip_names.pop())
elif len(zip_names) == 0:
raise ValueError(f"Zero files found in ZIP file {path_or_buf}")
else:
raise ValueError(
"Multiple files found in ZIP file. "
f"Only one file per ZIP: {zip_names}"
)

# XZ Compression
elif compression == "xz":
handle = get_lzma_file()(handle, ioargs.mode)

# Zstd Compression
elif compression == "zstd":
zstd = import_optional_dependency("zstandard")
if "r" in ioargs.mode:
open_args = {"dctx": zstd.ZstdDecompressor(**compression_args)}
else:
open_args = {"cctx": zstd.ZstdCompressor(**compression_args)}
handle = zstd.open(
handle,
mode=ioargs.mode,
**open_args,
)

# Unrecognized Compression
else:
msg = f"Unrecognized compression type: {compression}"
raise ValueError(msg)

assert not isinstance(handle, str)
handles.append(handle)

elif isinstance(handle, str):
# Check whether the filename is to be opened in binary mode.
# Binary mode does not support 'encoding' and 'newline'.
if ioargs.encoding and "b" not in ioargs.mode:
# Encoding
> handle = open(
handle,
ioargs.mode,
encoding=ioargs.encoding,
errors=errors,
newline="",
)
E FileNotFoundError: [Errno 2] No such file or directory: 'Orders_and_Payment_Flow_Certification.csv'

c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\common.py:789: FileNotFoundError
-------------------------------Captured log call--------------------------------
INFO  setup:test_orders_and_payment_flow.py:46 Total URL Present is: 5
Failed test_orders_and_payment_flow.py::TestOrderAndPaymentFlowCertificationProgram::test_Orders_and_Payment_Flow_certification[AI] 0.00
self = <test_orders_and_payment_flow.TestOrderAndPaymentFlowCertificationProgram object at 0x0000020BE147C7C0>, value = 'AI', initialize_pages = None
testdata = {'contact_no': '123456789', 'country': ['in', 'us', 'gb', 'au', 'de', 'sg', ...], 'db_type': 'mysql', 'dynamo_db_type': 'dynamo', ...}

@pytest.mark.test_details("0000","high","Order and Payment Flow","Pradeep")
@pytest.mark.parametrize("value", certification_program_course_read_csv())
def test_Orders_and_Payment_Flow_certification(self,value,initialize_pages,testdata):

'''
Objective: Make payment and validate the data in Dynamo db and mySql

Step 01: get url
Step 02: click on Enroll Now CTA
Step 03: Make payment
Step 04: Validate the Dynamo db and MySql daya for the payment
'''
self.add_rows_in_csv('Report.csv')
url_count = self._count_url_txt_file_subdomain('Orders_and_Payment_Flow_Certification.txt')
logging.info(f"Total URL Present is: {url_count}")

# Step 01: get url
counter = 0
> df = pd.read_csv('Orders_and_Payment_Flow_Certification.csv', on_bad_lines='skip')

test_prod\test_orders_and_payment_flow.py:50:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\util\_decorators.py:311: in wrapper
return func(*args, **kwargs)
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\parsers\readers.py:680: in read_csv
return _read(filepath_or_buffer, kwds)
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\parsers\readers.py:575: in _read
parser = TextFileReader(filepath_or_buffer, **kwds)
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\parsers\readers.py:933: in __init__
self._engine = self._make_engine(f, self.engine)
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\parsers\readers.py:1217: in _make_engine
self.handles = get_handle( # type: ignore[call-overload]
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

path_or_buf = 'Orders_and_Payment_Flow_Certification.csv', mode = 'r'

@doc(compression_options=_shared_docs["compression_options"] % "path_or_buf")
def get_handle(
path_or_buf: FilePath | BaseBuffer,
mode: str,
*,
encoding: str | None = None,
compression: CompressionOptions = None,
memory_map: bool = False,
is_text: bool = True,
errors: str | None = None,
storage_options: StorageOptions = None,
) -> IOHandles[str] | IOHandles[bytes]:
"""
Get file handle for given path/buffer and mode.

Parameters
----------
path_or_buf : str or file handle
File path or object.
mode : str
Mode to open path_or_buf with.
encoding : str or None
Encoding to use.
{compression_options}

.. versionchanged:: 1.0.0
May now be a dict with key 'method' as compression mode
and other keys as compression options if compression
mode is 'zip'.

.. versionchanged:: 1.1.0
Passing compression options as keys in dict is now
supported for compression modes 'gzip', 'bz2', 'zstd' and 'zip'.

.. versionchanged:: 1.4.0 Zstandard support.

memory_map : bool, default False
See parsers._parser_params for more information.
is_text : bool, default True
Whether the type of the content passed to the file/buffer is string or
bytes. This is not the same as `"b" not in mode`. If a string content is
passed to a binary file/buffer, a wrapper is inserted.
errors : str, default 'strict'
Specifies how encoding and decoding errors are to be handled.
See the errors argument for :func:`open` for a full list
of options.
storage_options: StorageOptions = None
Passed to _get_filepath_or_buffer

.. versionchanged:: 1.2.0

Returns the dataclass IOHandles
"""
# Windows does not default to utf-8. Set to utf-8 for a consistent behavior
encoding = encoding or "utf-8"

# read_csv does not know whether the buffer is opened in binary/text mode
if _is_binary_mode(path_or_buf, mode) and "b" not in mode:
mode += "b"

# validate encoding and errors
codecs.lookup(encoding)
if isinstance(errors, str):
codecs.lookup_error(errors)

# open URLs
ioargs = _get_filepath_or_buffer(
path_or_buf,
encoding=encoding,
compression=compression,
mode=mode,
storage_options=storage_options,
)

handle = ioargs.filepath_or_buffer
handles: list[BaseBuffer]

# memory mapping needs to be the first step
handle, memory_map, handles = _maybe_memory_map(
handle,
memory_map,
ioargs.encoding,
ioargs.mode,
errors,
ioargs.compression["method"] not in _compression_to_extension,
)

is_path = isinstance(handle, str)
compression_args = dict(ioargs.compression)
compression = compression_args.pop("method")

# Only for write methods
if "r" not in mode and is_path:
check_parent_directory(str(handle))

if compression:
if compression != "zstd":
# compression libraries do not like an explicit text-mode
ioargs.mode = ioargs.mode.replace("t", "")
elif compression == "zstd" and "b" not in ioargs.mode:
# python-zstandard defaults to text mode, but we always expect
# compression libraries to use binary mode.
ioargs.mode += "b"

# GZ Compression
if compression == "gzip":
if is_path:
assert isinstance(handle, str)
# error: Incompatible types in assignment (expression has type
# "GzipFile", variable has type "Union[str, BaseBuffer]")
handle = gzip.GzipFile( # type: ignore[assignment]
filename=handle,
mode=ioargs.mode,
**compression_args,
)
else:
handle = gzip.GzipFile(
# No overload variant of "GzipFile" matches argument types
# "Union[str, BaseBuffer]", "str", "Dict[str, Any]"
fileobj=handle, # type: ignore[call-overload]
mode=ioargs.mode,
**compression_args,
)

# BZ Compression
elif compression == "bz2":
# No overload variant of "BZ2File" matches argument types
# "Union[str, BaseBuffer]", "str", "Dict[str, Any]"
handle = bz2.BZ2File( # type: ignore[call-overload]
handle,
mode=ioargs.mode,
**compression_args,
)

# ZIP Compression
elif compression == "zip":
# error: Argument 1 to "_BytesZipFile" has incompatible type "Union[str,
# BaseBuffer]"; expected "Union[Union[str, PathLike[str]],
# ReadBuffer[bytes], WriteBuffer[bytes]]"
handle = _BytesZipFile(
handle, ioargs.mode, **compression_args # type: ignore[arg-type]
)
if handle.mode == "r":
handles.append(handle)
zip_names = handle.namelist()
if len(zip_names) == 1:
handle = handle.open(zip_names.pop())
elif len(zip_names) == 0:
raise ValueError(f"Zero files found in ZIP file {path_or_buf}")
else:
raise ValueError(
"Multiple files found in ZIP file. "
f"Only one file per ZIP: {zip_names}"
)

# XZ Compression
elif compression == "xz":
handle = get_lzma_file()(handle, ioargs.mode)

# Zstd Compression
elif compression == "zstd":
zstd = import_optional_dependency("zstandard")
if "r" in ioargs.mode:
open_args = {"dctx": zstd.ZstdDecompressor(**compression_args)}
else:
open_args = {"cctx": zstd.ZstdCompressor(**compression_args)}
handle = zstd.open(
handle,
mode=ioargs.mode,
**open_args,
)

# Unrecognized Compression
else:
msg = f"Unrecognized compression type: {compression}"
raise ValueError(msg)

assert not isinstance(handle, str)
handles.append(handle)

elif isinstance(handle, str):
# Check whether the filename is to be opened in binary mode.
# Binary mode does not support 'encoding' and 'newline'.
if ioargs.encoding and "b" not in ioargs.mode:
# Encoding
> handle = open(
handle,
ioargs.mode,
encoding=ioargs.encoding,
errors=errors,
newline="",
)
E FileNotFoundError: [Errno 2] No such file or directory: 'Orders_and_Payment_Flow_Certification.csv'

c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pandas\io\common.py:789: FileNotFoundError
-------------------------------Captured log call--------------------------------
INFO  setup:test_orders_and_payment_flow.py:46 Total URL Present is: 5
Passed test_orders_and_payment_flow.py::TestOrderAndPaymentFlowMastersProgram::test_Orders_and_Payment_Flow_masters_program[A] 104.97
------------------------------Captured stderr call------------------------------
--- Logging error --- Traceback (most recent call last): File "c:\users\qateam\appdata\local\programs\python\python38\lib\logging\__init__.py", line 1084, in emit stream.write(msg + self.terminator) File "c:\users\qateam\appdata\local\programs\python\python38\lib\encodings\cp1252.py", line 19, in encode return codecs.charmap_encode(input,self.errors,encoding_table)[0] UnicodeEncodeError: 'charmap' codec can't encode character '\u20b9' in position 160: character maps to <undefined> Call stack: File "c:\users\qateam\appdata\local\programs\python\python38\lib\runpy.py", line 194, in _run_module_as_main return _run_code(code, main_globals, None, File "c:\users\qateam\appdata\local\programs\python\python38\lib\runpy.py", line 87, in _run_code exec(code, run_globals) File "C:\Users\qateam\AppData\Local\Programs\Python\Python38\Scripts\pytest.exe\__main__.py", line 7, in <module> sys.exit(console_main()) File "c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\_pytest\config\__init__.py", line 187, in console_main code = main() File "c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\_pytest\config\__init__.py", line 164, in main ret = config.hook.pytest_cmdline_main( File "c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pluggy\hooks.py", line 286, in __call__ return self._hookexec(self, self.get_hookimpls(), kwargs) File "c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pluggy\manager.py", line 93, in _hookexec return self._inner_hookexec(hook, methods, kwargs) File "c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pluggy\manager.py", line 84, in <lambda> self._inner_hookexec = lambda hook, methods, kwargs: hook.multicall( File "c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pluggy\callers.py", line 187, in _multicall res = hook_impl.function(*args) File "c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\_pytest\main.py", line 306, in pytest_cmdline_main return wrap_session(config, _main) File "c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\_pytest\main.py", line 257, in wrap_session session.exitstatus = doit(config, session) or 0 File "c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\_pytest\main.py", line 313, in _main config.hook.pytest_runtestloop(session=session) File "c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pluggy\hooks.py", line 286, in __call__ return self._hookexec(self, self.get_hookimpls(), kwargs) File "c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pluggy\manager.py", line 93, in _hookexec return self._inner_hookexec(hook, methods, kwargs) File "c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pluggy\manager.py", line 84, in <lambda> self._inner_hookexec = lambda hook, methods, kwargs: hook.multicall( File "c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pluggy\callers.py", line 187, in _multicall res = hook_impl.function(*args) File "c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\_pytest\main.py", line 338, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pluggy\hooks.py", line 286, in __call__ return self._hookexec(self, self.get_hookimpls(), kwargs) File "c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pluggy\manager.py", line 93, in _hookexec return self._inner_hookexec(hook, methods, kwargs) File "c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pluggy\manager.py", line 84, in <lambda> self._inner_hookexec = lambda hook, methods, kwargs: hook.multicall( File "c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pluggy\callers.py", line 187, in _multicall res = hook_impl.function(*args) File "c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\_pytest\runner.py", line 110, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\_pytest\runner.py", line 127, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\_pytest\runner.py", line 216, in call_and_report call = call_runtest_hook(item, when, **kwds) File "c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\_pytest\runner.py", line 255, in call_runtest_hook return CallInfo.from_call( File "c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\_pytest\runner.py", line 310, in from_call result = func() # type: Optional[TResult] File "c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\_pytest\runner.py", line 256, in <lambda> lambda: ihook(item=item, **kwds), when=when, reraise=reraise File "c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pluggy\hooks.py", line 286, in __call__ return self._hookexec(self, self.get_hookimpls(), kwargs) File "c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pluggy\manager.py", line 93, in _hookexec return self._inner_hookexec(hook, methods, kwargs) File "c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pluggy\manager.py", line 84, in <lambda> self._inner_hookexec = lambda hook, methods, kwargs: hook.multicall( File "c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pluggy\callers.py", line 187, in _multicall res = hook_impl.function(*args) File "c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\_pytest\runner.py", line 163, in pytest_runtest_call item.runtest() File "c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\_pytest\python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pluggy\hooks.py", line 286, in __call__ return self._hookexec(self, self.get_hookimpls(), kwargs) File "c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pluggy\manager.py", line 93, in _hookexec return self._inner_hookexec(hook, methods, kwargs) File "c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pluggy\manager.py", line 84, in <lambda> self._inner_hookexec = lambda hook, methods, kwargs: hook.multicall( File "c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pluggy\callers.py", line 187, in _multicall res = hook_impl.function(*args) File "c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\_pytest\python.py", line 184, in pytest_pyfunc_call result = testfunction(**testargs) File "C:\test_repos\pre_sales_test_python\test_prod\test_orders_and_payment_flow.py", line 388, in test_Orders_and_Payment_Flow_masters_program logging.info(f"course_data: {course_data}") Message: "course_data: ({'course_name': 'Full Stack Web Developer - MEAN Stack', 'course_type': 'Online Bootcamp', 'base_price': '₹ 45,762.00', 'final_price': '53,999.16'}, (['Credit Card', 'Debit Card', 'Net Banking', 'UPI', 'EMI', 'ShopSe EMI', 'CCAvenue'], [{'creditcard': 'All option clickable and Payment CTA appearing '}, {'debitcard': 'All option clickable and Payment CTA appearing '}, {'net_banking': 'All option clickable and Payment CTA appearing '}, {'UPI': 'Payment CTA appearing'}, {'EMI': 'Payment CTA appearing'}, {'CCAvenue': 'Payment CTA appearing'}, {'ShopSE EMI': 'Payment CTA appearing'}]))" Arguments: ()
-------------------------------Captured log call--------------------------------
INFO  setup:test_orders_and_payment_flow.py:376 Url Opened is: https://www.simplilearn.com/full-stack-web-developer-mean-stack-certification-training INFO  setup:orders_page.py:30 Country Set to: IN INFO  setup:orders_page.py:159 clicked on Enroll Now button for Masters Program INFO  setup:orders_page.py:162 Payment Page Loaded INFO  setup:test_orders_and_payment_flow.py:473 <class 'tuple'> INFO  setup:ssvc_cart_page.py:316 Payment Deatils Entered INFO  setup:test_orders_and_payment_flow.py:385 <class 'tuple'> INFO  setup:test_orders_and_payment_flow.py:388 course_data: ({'course_name': 'Full Stack Web Developer - MEAN Stack', 'course_type': 'Online Bootcamp', 'base_price': '₹ 45,762.00', 'final_price': '53,999.16'}, (['Credit Card', 'Debit Card', 'Net Banking', 'UPI', 'EMI', 'ShopSe EMI', 'CCAvenue'], [{'creditcard': 'All option clickable and Payment CTA appearing '}, {'debitcard': 'All option clickable and Payment CTA appearing '}, {'net_banking': 'All option clickable and Payment CTA appearing '}, {'UPI': 'Payment CTA appearing'}, {'EMI': 'Payment CTA appearing'}, {'CCAvenue': 'Payment CTA appearing'}, {'ShopSE EMI': 'Payment CTA appearing'}])) INFO  setup:test_orders_and_payment_flow.py:392 Token No is: f54e4d59a48c6446e58314d3ae3efc423deca04097fe941d5756ea464b3d0a36 INFO  setup:test_orders_and_payment_flow.py:396 RAW SQL Data: [{'items': 'a:1:{i:0;a:33:{s:2:"id";s:3:"105";s:4:"name";s:65:"Full Stack Web Developer - MEAN Stack Online Classroom Flexi-Pass";s:11:"description";s:4:" - 1";s:5:"price";s:8:"53999.16";s:9:"basePrice";s:5:"45762";s:19:"display_total_price";s:9:"45,762.00";s:8:"quantity";i:1;s:11:"isEarlyBird";i:0;s:4:"type";s:9:"classroom";s:15:"trainingType_id";s:1:"9";s:10:"accessDays";s:3:"335";s:13:"productTypeId";s:1:"2";s:15:"productTypeName";s:6:"bundle";s:11:"actual_name";s:37:"Full Stack Web Developer - MEAN Stack";s:7:"priceId";s:0:"";s:11:"billingType";i:1;s:7:"img_url";s:83:"https://www.simplilearn.com/ice9/course_images/bundle313x225/mean-stack-master.svgz";s:10:"course_url";N;s:17:"training_type_txt";s:27:"Online Classroom Flexi-Pass";s:9:"messageTT";s:0:"";s:8:"cohortId";s:24:"63a1c1612b22261dd54eac86";s:14:"welcomeClassId";s:24:"63a1c1962b22261dd54eac87";s:10:"cohortName";s:25:"MS MEAN MAR 2023 Cohort 1";s:21:"welcomeClassStartDate";i:1675189800;s:15:"cohortStartDate";i:1679752800;s:13:"cohortEndDate";i:1695578400;s:25:"welcomeClassStartDateUser";i:1675260000;s:19:"cohortStartDateUser";i:1679823000;s:17:"cohortEndDateUser";i:1695663000;s:16:"primary_label_id";s:2:"25";s:18:"primary_label_name";s:20:"Software Development";s:12:"cateforyInfo";a:1:{i:25;s:20:"Software Development";}s:15:"program_version";i:1;}}', 'emailId': 'simplilearnautomation@gmail.com', 'contactNumber': '+91-123456789'}] INFO  setup:test_orders_and_payment_flow.py:398 SQL DATA in JSON format: {'id': '105', 'name': 'Full Stack Web Developer - MEAN Stack Online Classroom Flexi-Pass', 'description': ' - 1', 'price': '53999.16', 'basePrice': '45762', 'display_total_price': '45,762.00', 'quantity': 'isEarlyBird', 'type': 'classroom', 'trainingType_id': '9', 'accessDays': '335', 'productTypeId': '2', 'productTypeName': 'bundle', 'actual_name': 'Full Stack Web Developer - MEAN Stack', 'priceId': '', 'img_url': 'https://www.simplilearn.com/ice9/course_images/bundle313x225/mean-stack-master.svgz', 'training_type_txt': 'Online Classroom Flexi-Pass', 'messageTT': '', 'cohortId': '63a1c1612b22261dd54eac86', 'welcomeClassId': '63a1c1962b22261dd54eac87', 'cohortName': 'MS MEAN MAR 2023 Cohort 1', 'welcomeClassStartDate': 'cohortStartDate', 'cohortEndDate': 'welcomeClassStartDateUser', 'cohortStartDateUser': 'cohortEndDateUser', 'primary_label_id': '25', 'primary_label_name': 'Software Development'} INFO  setup:test_orders_and_payment_flow.py:650 Verifiaction Status Log Message: ['DB Verification Successfull']
Passed test_orders_and_payment_flow.py::TestOrderAndPaymentFlowMastersProgram::test_Orders_and_Payment_Flow_masters_program[B] 99.45
------------------------------Captured stderr call------------------------------
--- Logging error --- Traceback (most recent call last): File "c:\users\qateam\appdata\local\programs\python\python38\lib\logging\__init__.py", line 1084, in emit stream.write(msg + self.terminator) File "c:\users\qateam\appdata\local\programs\python\python38\lib\encodings\cp1252.py", line 19, in encode return codecs.charmap_encode(input,self.errors,encoding_table)[0] UnicodeEncodeError: 'charmap' codec can't encode character '\u20b9' in position 157: character maps to <undefined> Call stack: File "c:\users\qateam\appdata\local\programs\python\python38\lib\runpy.py", line 194, in _run_module_as_main return _run_code(code, main_globals, None, File "c:\users\qateam\appdata\local\programs\python\python38\lib\runpy.py", line 87, in _run_code exec(code, run_globals) File "C:\Users\qateam\AppData\Local\Programs\Python\Python38\Scripts\pytest.exe\__main__.py", line 7, in <module> sys.exit(console_main()) File "c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\_pytest\config\__init__.py", line 187, in console_main code = main() File "c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\_pytest\config\__init__.py", line 164, in main ret = config.hook.pytest_cmdline_main( File "c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pluggy\hooks.py", line 286, in __call__ return self._hookexec(self, self.get_hookimpls(), kwargs) File "c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pluggy\manager.py", line 93, in _hookexec return self._inner_hookexec(hook, methods, kwargs) File "c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pluggy\manager.py", line 84, in <lambda> self._inner_hookexec = lambda hook, methods, kwargs: hook.multicall( File "c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pluggy\callers.py", line 187, in _multicall res = hook_impl.function(*args) File "c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\_pytest\main.py", line 306, in pytest_cmdline_main return wrap_session(config, _main) File "c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\_pytest\main.py", line 257, in wrap_session session.exitstatus = doit(config, session) or 0 File "c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\_pytest\main.py", line 313, in _main config.hook.pytest_runtestloop(session=session) File "c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pluggy\hooks.py", line 286, in __call__ return self._hookexec(self, self.get_hookimpls(), kwargs) File "c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pluggy\manager.py", line 93, in _hookexec return self._inner_hookexec(hook, methods, kwargs) File "c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pluggy\manager.py", line 84, in <lambda> self._inner_hookexec = lambda hook, methods, kwargs: hook.multicall( File "c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pluggy\callers.py", line 187, in _multicall res = hook_impl.function(*args) File "c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\_pytest\main.py", line 338, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pluggy\hooks.py", line 286, in __call__ return self._hookexec(self, self.get_hookimpls(), kwargs) File "c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pluggy\manager.py", line 93, in _hookexec return self._inner_hookexec(hook, methods, kwargs) File "c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pluggy\manager.py", line 84, in <lambda> self._inner_hookexec = lambda hook, methods, kwargs: hook.multicall( File "c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pluggy\callers.py", line 187, in _multicall res = hook_impl.function(*args) File "c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\_pytest\runner.py", line 110, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\_pytest\runner.py", line 127, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\_pytest\runner.py", line 216, in call_and_report call = call_runtest_hook(item, when, **kwds) File "c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\_pytest\runner.py", line 255, in call_runtest_hook return CallInfo.from_call( File "c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\_pytest\runner.py", line 310, in from_call result = func() # type: Optional[TResult] File "c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\_pytest\runner.py", line 256, in <lambda> lambda: ihook(item=item, **kwds), when=when, reraise=reraise File "c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pluggy\hooks.py", line 286, in __call__ return self._hookexec(self, self.get_hookimpls(), kwargs) File "c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pluggy\manager.py", line 93, in _hookexec return self._inner_hookexec(hook, methods, kwargs) File "c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pluggy\manager.py", line 84, in <lambda> self._inner_hookexec = lambda hook, methods, kwargs: hook.multicall( File "c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pluggy\callers.py", line 187, in _multicall res = hook_impl.function(*args) File "c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\_pytest\runner.py", line 163, in pytest_runtest_call item.runtest() File "c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\_pytest\python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pluggy\hooks.py", line 286, in __call__ return self._hookexec(self, self.get_hookimpls(), kwargs) File "c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pluggy\manager.py", line 93, in _hookexec return self._inner_hookexec(hook, methods, kwargs) File "c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pluggy\manager.py", line 84, in <lambda> self._inner_hookexec = lambda hook, methods, kwargs: hook.multicall( File "c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pluggy\callers.py", line 187, in _multicall res = hook_impl.function(*args) File "c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\_pytest\python.py", line 184, in pytest_pyfunc_call result = testfunction(**testargs) File "C:\test_repos\pre_sales_test_python\test_prod\test_orders_and_payment_flow.py", line 388, in test_Orders_and_Payment_Flow_masters_program logging.info(f"course_data: {course_data}") Message: "course_data: ({'course_name': 'Automation Testing Masters Program', 'course_type': 'Online Bootcamp', 'base_price': '₹ 45,762.00', 'final_price': '53,999.16'}, (['Credit Card', 'Debit Card', 'Net Banking', 'UPI', 'EMI', 'ShopSe EMI', 'CCAvenue'], [{'creditcard': 'All option clickable and Payment CTA appearing '}, {'debitcard': 'All option clickable and Payment CTA appearing '}, {'net_banking': 'All option clickable and Payment CTA appearing '}, {'UPI': 'Payment CTA appearing'}, {'EMI': 'Payment CTA appearing'}, {'CCAvenue': 'Payment CTA appearing'}, {'ShopSE EMI': 'Payment CTA appearing'}]))" Arguments: ()
-------------------------------Captured log call--------------------------------
INFO  setup:test_orders_and_payment_flow.py:376 Url Opened is: https://www.simplilearn.com/automation-testing-masters-program-certification-training-course INFO  setup:orders_page.py:30 Country Set to: IN INFO  setup:orders_page.py:159 clicked on Enroll Now button for Masters Program INFO  setup:orders_page.py:162 Payment Page Loaded INFO  setup:test_orders_and_payment_flow.py:473 <class 'tuple'> INFO  setup:ssvc_cart_page.py:316 Payment Deatils Entered INFO  setup:test_orders_and_payment_flow.py:385 <class 'tuple'> INFO  setup:test_orders_and_payment_flow.py:388 course_data: ({'course_name': 'Automation Testing Masters Program', 'course_type': 'Online Bootcamp', 'base_price': '₹ 45,762.00', 'final_price': '53,999.16'}, (['Credit Card', 'Debit Card', 'Net Banking', 'UPI', 'EMI', 'ShopSe EMI', 'CCAvenue'], [{'creditcard': 'All option clickable and Payment CTA appearing '}, {'debitcard': 'All option clickable and Payment CTA appearing '}, {'net_banking': 'All option clickable and Payment CTA appearing '}, {'UPI': 'Payment CTA appearing'}, {'EMI': 'Payment CTA appearing'}, {'CCAvenue': 'Payment CTA appearing'}, {'ShopSE EMI': 'Payment CTA appearing'}])) INFO  setup:test_orders_and_payment_flow.py:392 Token No is: 558ae965ee877d9560abdc6303c5c1a3a216d3a48f28bbd968d158efadd19bbb INFO  setup:test_orders_and_payment_flow.py:396 RAW SQL Data: [{'items': 'a:1:{i:0;a:24:{s:2:"id";s:3:"112";s:4:"name";s:62:"Automation Testing Masters Program Online Classroom Flexi-Pass";s:11:"description";s:4:" - 1";s:5:"price";s:8:"53999.16";s:9:"basePrice";s:5:"45762";s:19:"display_total_price";s:9:"45,762.00";s:8:"quantity";i:1;s:11:"isEarlyBird";i:0;s:4:"type";s:9:"classroom";s:15:"trainingType_id";s:1:"9";s:10:"accessDays";s:3:"335";s:13:"productTypeId";s:1:"2";s:15:"productTypeName";s:6:"bundle";s:11:"actual_name";s:34:"Automation Testing Masters Program";s:7:"priceId";s:0:"";s:11:"billingType";i:1;s:7:"img_url";s:105:"https://www.simplilearn.com/ice9/course_images/bundle313x225/Automation-Testing-Masters-Program-icon.svgz";s:10:"course_url";N;s:17:"training_type_txt";s:27:"Online Classroom Flexi-Pass";s:9:"messageTT";s:0:"";s:16:"primary_label_id";s:2:"25";s:18:"primary_label_name";s:20:"Software Development";s:12:"cateforyInfo";a:1:{i:25;s:20:"Software Development";}s:15:"program_version";i:1;}}', 'emailId': 'simplilearnautomation@gmail.com', 'contactNumber': '+91-123456789'}] INFO  setup:test_orders_and_payment_flow.py:398 SQL DATA in JSON format: {'id': '112', 'name': 'Automation Testing Masters Program Online Classroom Flexi-Pass', 'description': ' - 1', 'price': '53999.16', 'basePrice': '45762', 'display_total_price': '45,762.00', 'quantity': 'isEarlyBird', 'type': 'classroom', 'trainingType_id': '9', 'accessDays': '335', 'productTypeId': '2', 'productTypeName': 'bundle', 'actual_name': 'Automation Testing Masters Program', 'priceId': '', 'img_url': 'https://www.simplilearn.com/ice9/course_images/bundle313x225/Automation-Testing-Masters-Program-icon.svgz', 'training_type_txt': 'Online Classroom Flexi-Pass', 'messageTT': '', 'primary_label_id': '25', 'primary_label_name': 'Software Development'} INFO  setup:test_orders_and_payment_flow.py:650 Verifiaction Status Log Message: ['DB Verification Successfull']
Passed test_orders_and_payment_flow.py::TestOrderAndPaymentFlowMastersProgram::test_Orders_and_Payment_Flow_masters_program[C] 99.91
------------------------------Captured stderr call------------------------------
--- Logging error --- Traceback (most recent call last): File "c:\users\qateam\appdata\local\programs\python\python38\lib\logging\__init__.py", line 1084, in emit stream.write(msg + self.terminator) File "c:\users\qateam\appdata\local\programs\python\python38\lib\encodings\cp1252.py", line 19, in encode return codecs.charmap_encode(input,self.errors,encoding_table)[0] UnicodeEncodeError: 'charmap' codec can't encode character '\u20b9' in position 142: character maps to <undefined> Call stack: File "c:\users\qateam\appdata\local\programs\python\python38\lib\runpy.py", line 194, in _run_module_as_main return _run_code(code, main_globals, None, File "c:\users\qateam\appdata\local\programs\python\python38\lib\runpy.py", line 87, in _run_code exec(code, run_globals) File "C:\Users\qateam\AppData\Local\Programs\Python\Python38\Scripts\pytest.exe\__main__.py", line 7, in <module> sys.exit(console_main()) File "c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\_pytest\config\__init__.py", line 187, in console_main code = main() File "c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\_pytest\config\__init__.py", line 164, in main ret = config.hook.pytest_cmdline_main( File "c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pluggy\hooks.py", line 286, in __call__ return self._hookexec(self, self.get_hookimpls(), kwargs) File "c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pluggy\manager.py", line 93, in _hookexec return self._inner_hookexec(hook, methods, kwargs) File "c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pluggy\manager.py", line 84, in <lambda> self._inner_hookexec = lambda hook, methods, kwargs: hook.multicall( File "c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pluggy\callers.py", line 187, in _multicall res = hook_impl.function(*args) File "c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\_pytest\main.py", line 306, in pytest_cmdline_main return wrap_session(config, _main) File "c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\_pytest\main.py", line 257, in wrap_session session.exitstatus = doit(config, session) or 0 File "c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\_pytest\main.py", line 313, in _main config.hook.pytest_runtestloop(session=session) File "c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pluggy\hooks.py", line 286, in __call__ return self._hookexec(self, self.get_hookimpls(), kwargs) File "c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pluggy\manager.py", line 93, in _hookexec return self._inner_hookexec(hook, methods, kwargs) File "c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pluggy\manager.py", line 84, in <lambda> self._inner_hookexec = lambda hook, methods, kwargs: hook.multicall( File "c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pluggy\callers.py", line 187, in _multicall res = hook_impl.function(*args) File "c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\_pytest\main.py", line 338, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pluggy\hooks.py", line 286, in __call__ return self._hookexec(self, self.get_hookimpls(), kwargs) File "c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pluggy\manager.py", line 93, in _hookexec return self._inner_hookexec(hook, methods, kwargs) File "c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pluggy\manager.py", line 84, in <lambda> self._inner_hookexec = lambda hook, methods, kwargs: hook.multicall( File "c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pluggy\callers.py", line 187, in _multicall res = hook_impl.function(*args) File "c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\_pytest\runner.py", line 110, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\_pytest\runner.py", line 127, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\_pytest\runner.py", line 216, in call_and_report call = call_runtest_hook(item, when, **kwds) File "c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\_pytest\runner.py", line 255, in call_runtest_hook return CallInfo.from_call( File "c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\_pytest\runner.py", line 310, in from_call result = func() # type: Optional[TResult] File "c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\_pytest\runner.py", line 256, in <lambda> lambda: ihook(item=item, **kwds), when=when, reraise=reraise File "c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pluggy\hooks.py", line 286, in __call__ return self._hookexec(self, self.get_hookimpls(), kwargs) File "c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pluggy\manager.py", line 93, in _hookexec return self._inner_hookexec(hook, methods, kwargs) File "c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pluggy\manager.py", line 84, in <lambda> self._inner_hookexec = lambda hook, methods, kwargs: hook.multicall( File "c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pluggy\callers.py", line 187, in _multicall res = hook_impl.function(*args) File "c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\_pytest\runner.py", line 163, in pytest_runtest_call item.runtest() File "c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\_pytest\python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pluggy\hooks.py", line 286, in __call__ return self._hookexec(self, self.get_hookimpls(), kwargs) File "c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pluggy\manager.py", line 93, in _hookexec return self._inner_hookexec(hook, methods, kwargs) File "c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pluggy\manager.py", line 84, in <lambda> self._inner_hookexec = lambda hook, methods, kwargs: hook.multicall( File "c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pluggy\callers.py", line 187, in _multicall res = hook_impl.function(*args) File "c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\_pytest\python.py", line 184, in pytest_pyfunc_call result = testfunction(**testargs) File "C:\test_repos\pre_sales_test_python\test_prod\test_orders_and_payment_flow.py", line 388, in test_Orders_and_Payment_Flow_masters_program logging.info(f"course_data: {course_data}") Message: "course_data: ({'course_name': 'UI/UX Design Expert', 'course_type': 'Online Bootcamp', 'base_price': '₹ 52,541.50', 'final_price': '61,998.97'}, (['Credit Card', 'Debit Card', 'Net Banking', 'UPI', 'EMI', 'ShopSe EMI', 'CCAvenue'], [{'creditcard': 'All option clickable and Payment CTA appearing '}, {'debitcard': 'All option clickable and Payment CTA appearing '}, {'net_banking': 'All option clickable and Payment CTA appearing '}, {'UPI': 'Payment CTA appearing'}, {'EMI': 'Payment CTA appearing'}, {'CCAvenue': 'Payment CTA appearing'}, {'ShopSE EMI': 'Payment CTA appearing'}]))" Arguments: ()
-------------------------------Captured log call--------------------------------
INFO  setup:test_orders_and_payment_flow.py:376 Url Opened is: https://www.simplilearn.com/ui-ux-design-masters-program-certification-course INFO  setup:orders_page.py:30 Country Set to: IN INFO  setup:orders_page.py:159 clicked on Enroll Now button for Masters Program INFO  setup:orders_page.py:162 Payment Page Loaded INFO  setup:test_orders_and_payment_flow.py:473 <class 'tuple'> INFO  setup:ssvc_cart_page.py:316 Payment Deatils Entered INFO  setup:test_orders_and_payment_flow.py:385 <class 'tuple'> INFO  setup:test_orders_and_payment_flow.py:388 course_data: ({'course_name': 'UI/UX Design Expert', 'course_type': 'Online Bootcamp', 'base_price': '₹ 52,541.50', 'final_price': '61,998.97'}, (['Credit Card', 'Debit Card', 'Net Banking', 'UPI', 'EMI', 'ShopSe EMI', 'CCAvenue'], [{'creditcard': 'All option clickable and Payment CTA appearing '}, {'debitcard': 'All option clickable and Payment CTA appearing '}, {'net_banking': 'All option clickable and Payment CTA appearing '}, {'UPI': 'Payment CTA appearing'}, {'EMI': 'Payment CTA appearing'}, {'CCAvenue': 'Payment CTA appearing'}, {'ShopSE EMI': 'Payment CTA appearing'}])) INFO  setup:test_orders_and_payment_flow.py:392 Token No is: b945383dbfe601f2837ce5c995609480a943066aff45708dec0d20fb3a6fe3bc INFO  setup:test_orders_and_payment_flow.py:396 RAW SQL Data: [{'items': 'a:1:{i:0;a:33:{s:2:"id";s:3:"290";s:4:"name";s:47:"UI/UX Design Expert Online Classroom Flexi-Pass";s:11:"description";s:4:" - 1";s:5:"price";s:8:"61998.97";s:9:"basePrice";s:7:"52541.5";s:19:"display_total_price";s:9:"52,541.50";s:8:"quantity";i:1;s:11:"isEarlyBird";i:0;s:4:"type";s:9:"classroom";s:15:"trainingType_id";s:1:"9";s:10:"accessDays";s:3:"120";s:13:"productTypeId";s:1:"2";s:15:"productTypeName";s:6:"bundle";s:11:"actual_name";s:19:"UI/UX Design Expert";s:7:"priceId";s:0:"";s:11:"billingType";i:1;s:7:"img_url";s:49:"https://www.simplilearn.com/ice9/banners/IoT.svgz";s:10:"course_url";N;s:17:"training_type_txt";s:27:"Online Classroom Flexi-Pass";s:9:"messageTT";s:0:"";s:8:"cohortId";s:24:"63a67a2e2b22261dd54eb32a";s:14:"welcomeClassId";s:24:"63a67a922b22261dd54eb32b";s:10:"cohortName";s:26:"MS UI/UX Mar 2023 Cohort 1";s:21:"welcomeClassStartDate";i:1675621800;s:15:"cohortStartDate";i:1678543200;s:13:"cohortEndDate";i:1688148000;s:25:"welcomeClassStartDateUser";i:1675692000;s:19:"cohortStartDateUser";i:1678613400;s:17:"cohortEndDateUser";i:1688232600;s:16:"primary_label_id";s:2:"25";s:18:"primary_label_name";s:20:"Software Development";s:12:"cateforyInfo";a:1:{i:25;s:20:"Software Development";}s:15:"program_version";i:2;}}', 'emailId': 'simplilearnautomation@gmail.com', 'contactNumber': '+91-123456789'}] INFO  setup:test_orders_and_payment_flow.py:398 SQL DATA in JSON format: {'id': '290', 'name': 'UI/UX Design Expert Online Classroom Flexi-Pass', 'description': ' - 1', 'price': '61998.97', 'basePrice': '52541.5', 'display_total_price': '52,541.50', 'quantity': 'isEarlyBird', 'type': 'classroom', 'trainingType_id': '9', 'accessDays': '120', 'productTypeId': '2', 'productTypeName': 'bundle', 'actual_name': 'UI/UX Design Expert', 'priceId': '', 'img_url': 'https://www.simplilearn.com/ice9/banners/IoT.svgz', 'training_type_txt': 'Online Classroom Flexi-Pass', 'messageTT': '', 'cohortId': '63a67a2e2b22261dd54eb32a', 'welcomeClassId': '63a67a922b22261dd54eb32b', 'cohortName': 'MS UI/UX Mar 2023 Cohort 1', 'welcomeClassStartDate': 'cohortStartDate', 'cohortEndDate': 'welcomeClassStartDateUser', 'cohortStartDateUser': 'cohortEndDateUser', 'primary_label_id': '25', 'primary_label_name': 'Software Development'} INFO  setup:test_orders_and_payment_flow.py:650 Verifiaction Status Log Message: ['DB Verification Successfull']
Passed test_orders_and_payment_flow.py::TestOrderAndPaymentFlowMastersProgram::test_Orders_and_Payment_Flow_masters_program[D] 57.86
------------------------------Captured stderr call------------------------------
--- Logging error --- Traceback (most recent call last): File "c:\users\qateam\appdata\local\programs\python\python38\lib\logging\__init__.py", line 1084, in emit stream.write(msg + self.terminator) File "c:\users\qateam\appdata\local\programs\python\python38\lib\encodings\cp1252.py", line 19, in encode return codecs.charmap_encode(input,self.errors,encoding_table)[0] UnicodeEncodeError: 'charmap' codec can't encode character '\u20b9' in position 151: character maps to <undefined> Call stack: File "c:\users\qateam\appdata\local\programs\python\python38\lib\runpy.py", line 194, in _run_module_as_main return _run_code(code, main_globals, None, File "c:\users\qateam\appdata\local\programs\python\python38\lib\runpy.py", line 87, in _run_code exec(code, run_globals) File "C:\Users\qateam\AppData\Local\Programs\Python\Python38\Scripts\pytest.exe\__main__.py", line 7, in <module> sys.exit(console_main()) File "c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\_pytest\config\__init__.py", line 187, in console_main code = main() File "c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\_pytest\config\__init__.py", line 164, in main ret = config.hook.pytest_cmdline_main( File "c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pluggy\hooks.py", line 286, in __call__ return self._hookexec(self, self.get_hookimpls(), kwargs) File "c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pluggy\manager.py", line 93, in _hookexec return self._inner_hookexec(hook, methods, kwargs) File "c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pluggy\manager.py", line 84, in <lambda> self._inner_hookexec = lambda hook, methods, kwargs: hook.multicall( File "c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pluggy\callers.py", line 187, in _multicall res = hook_impl.function(*args) File "c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\_pytest\main.py", line 306, in pytest_cmdline_main return wrap_session(config, _main) File "c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\_pytest\main.py", line 257, in wrap_session session.exitstatus = doit(config, session) or 0 File "c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\_pytest\main.py", line 313, in _main config.hook.pytest_runtestloop(session=session) File "c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pluggy\hooks.py", line 286, in __call__ return self._hookexec(self, self.get_hookimpls(), kwargs) File "c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pluggy\manager.py", line 93, in _hookexec return self._inner_hookexec(hook, methods, kwargs) File "c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pluggy\manager.py", line 84, in <lambda> self._inner_hookexec = lambda hook, methods, kwargs: hook.multicall( File "c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pluggy\callers.py", line 187, in _multicall res = hook_impl.function(*args) File "c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\_pytest\main.py", line 338, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pluggy\hooks.py", line 286, in __call__ return self._hookexec(self, self.get_hookimpls(), kwargs) File "c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pluggy\manager.py", line 93, in _hookexec return self._inner_hookexec(hook, methods, kwargs) File "c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pluggy\manager.py", line 84, in <lambda> self._inner_hookexec = lambda hook, methods, kwargs: hook.multicall( File "c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pluggy\callers.py", line 187, in _multicall res = hook_impl.function(*args) File "c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\_pytest\runner.py", line 110, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\_pytest\runner.py", line 127, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\_pytest\runner.py", line 216, in call_and_report call = call_runtest_hook(item, when, **kwds) File "c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\_pytest\runner.py", line 255, in call_runtest_hook return CallInfo.from_call( File "c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\_pytest\runner.py", line 310, in from_call result = func() # type: Optional[TResult] File "c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\_pytest\runner.py", line 256, in <lambda> lambda: ihook(item=item, **kwds), when=when, reraise=reraise File "c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pluggy\hooks.py", line 286, in __call__ return self._hookexec(self, self.get_hookimpls(), kwargs) File "c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pluggy\manager.py", line 93, in _hookexec return self._inner_hookexec(hook, methods, kwargs) File "c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pluggy\manager.py", line 84, in <lambda> self._inner_hookexec = lambda hook, methods, kwargs: hook.multicall( File "c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pluggy\callers.py", line 187, in _multicall res = hook_impl.function(*args) File "c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\_pytest\runner.py", line 163, in pytest_runtest_call item.runtest() File "c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\_pytest\python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pluggy\hooks.py", line 286, in __call__ return self._hookexec(self, self.get_hookimpls(), kwargs) File "c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pluggy\manager.py", line 93, in _hookexec return self._inner_hookexec(hook, methods, kwargs) File "c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pluggy\manager.py", line 84, in <lambda> self._inner_hookexec = lambda hook, methods, kwargs: hook.multicall( File "c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\pluggy\callers.py", line 187, in _multicall res = hook_impl.function(*args) File "c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\_pytest\python.py", line 184, in pytest_pyfunc_call result = testfunction(**testargs) File "C:\test_repos\pre_sales_test_python\test_prod\test_orders_and_payment_flow.py", line 388, in test_Orders_and_Payment_Flow_masters_program logging.info(f"course_data: {course_data}") Message: "course_data: ({'course_name': 'Digital Marketing Specialist', 'course_type': 'Online Bootcamp', 'base_price': '₹ 54,407.00', 'final_price': '64,200.26'}, (['Credit Card', 'Debit Card', 'Net Banking', 'UPI', 'EMI', 'ShopSe EMI', 'CCAvenue'], [{'creditcard': 'All option clickable and Payment CTA appearing '}, {'debitcard': 'All option clickable and Payment CTA appearing '}, {'net_banking': 'All option clickable and Payment CTA appearing '}, {'UPI': 'Payment CTA appearing'}, {'EMI': 'Payment CTA appearing'}, {'CCAvenue': 'Payment CTA appearing'}, {'ShopSE EMI': 'Payment CTA appearing'}]))" Arguments: ()
-------------------------------Captured log call--------------------------------
INFO  setup:test_orders_and_payment_flow.py:376 Url Opened is: https://www.simplilearn.com/advanced-digital-marketing-certification-training-course INFO  setup:orders_page.py:30 Country Set to: IN INFO  setup:orders_page.py:159 clicked on Enroll Now button for Masters Program INFO  setup:orders_page.py:162 Payment Page Loaded INFO  setup:test_orders_and_payment_flow.py:473 <class 'tuple'> INFO  setup:ssvc_cart_page.py:316 Payment Deatils Entered INFO  setup:test_orders_and_payment_flow.py:385 <class 'tuple'> INFO  setup:test_orders_and_payment_flow.py:388 course_data: ({'course_name': 'Digital Marketing Specialist', 'course_type': 'Online Bootcamp', 'base_price': '₹ 54,407.00', 'final_price': '64,200.26'}, (['Credit Card', 'Debit Card', 'Net Banking', 'UPI', 'EMI', 'ShopSe EMI', 'CCAvenue'], [{'creditcard': 'All option clickable and Payment CTA appearing '}, {'debitcard': 'All option clickable and Payment CTA appearing '}, {'net_banking': 'All option clickable and Payment CTA appearing '}, {'UPI': 'Payment CTA appearing'}, {'EMI': 'Payment CTA appearing'}, {'CCAvenue': 'Payment CTA appearing'}, {'ShopSE EMI': 'Payment CTA appearing'}])) INFO  setup:test_orders_and_payment_flow.py:392 Token No is: 43b183515da4b91ba47b5ae0564fb002a628dce4658e1cdf9712a1b947436b9e INFO  setup:test_orders_and_payment_flow.py:396 RAW SQL Data: [{'items': 'a:1:{i:0;a:24:{s:2:"id";s:2:"23";s:4:"name";s:49:"Digital Marketing Specialist Online Self Learning";s:11:"description";s:4:" - 1";s:5:"price";s:8:"64200.26";s:9:"basePrice";s:5:"54407";s:19:"display_total_price";s:9:"54,407.00";s:8:"quantity";i:1;s:11:"isEarlyBird";i:0;s:4:"type";s:6:"online";s:15:"trainingType_id";s:1:"9";s:10:"accessDays";s:3:"335";s:13:"productTypeId";s:1:"2";s:15:"productTypeName";s:6:"bundle";s:11:"actual_name";s:28:"Digital Marketing Specialist";s:7:"priceId";s:0:"";s:11:"billingType";i:1;s:7:"img_url";s:88:"https://www.simplilearn.com/ice9/course_images/bundle313x225/Digital-marketing-head.svgz";s:10:"course_url";s:57:"/advanced-digital-marketing-certification-training-course";s:17:"training_type_txt";s:20:"Online Self Learning";s:9:"messageTT";s:0:"";s:16:"primary_label_id";s:2:"18";s:18:"primary_label_name";s:17:"Digital Marketing";s:12:"cateforyInfo";a:1:{i:18;s:17:"Digital Marketing";}s:15:"program_version";i:3;}}', 'emailId': 'simplilearnautomation@gmail.com', 'contactNumber': '+91-123456789'}] INFO  setup:test_orders_and_payment_flow.py:398 SQL DATA in JSON format: {'id': '23', 'name': 'Digital Marketing Specialist Online Self Learning', 'description': ' - 1', 'price': '64200.26', 'basePrice': '54407', 'display_total_price': '54,407.00', 'quantity': 'isEarlyBird', 'type': 'online', 'trainingType_id': '9', 'accessDays': '335', 'productTypeId': '2', 'productTypeName': 'bundle', 'actual_name': 'Digital Marketing Specialist', 'priceId': '', 'img_url': 'https://www.simplilearn.com/ice9/course_images/bundle313x225/Digital-marketing-head.svgz', 'course_url': '/advanced-digital-marketing-certification-training-course', 'training_type_txt': 'Online Self Learning', 'messageTT': '', 'primary_label_id': '18', 'primary_label_name': 'Digital Marketing'} INFO  setup:test_orders_and_payment_flow.py:650 Verifiaction Status Log Message: ['DB Verification Successfull']
Passed test_orders_and_payment_flow.py::TestOrderAndPaymentFlowMastersProgram::test_Orders_and_Payment_Flow_masters_program[E] 111.42
-------------------------------Captured log call--------------------------------
INFO  setup:test_orders_and_payment_flow.py:376 Url Opened is: https://www.simplilearn.com/full-stack-web-developer-mean-stack-certification-training INFO  setup:orders_page.py:30 Country Set to: US INFO  setup:orders_page.py:159 clicked on Enroll Now button for Masters Program INFO  setup:orders_page.py:162 Payment Page Loaded INFO  setup:test_orders_and_payment_flow.py:473 <class 'tuple'> INFO  setup:ssvc_cart_page.py:336 Payment Deatils Entered INFO  setup:test_orders_and_payment_flow.py:385 <class 'tuple'> INFO  setup:test_orders_and_payment_flow.py:388 course_data: ({'course_name': 'Full Stack Web Developer - MEAN Stack', 'course_type': 'Online Bootcamp', 'base_price': '$ 1,499.00', 'final_price': '1,499.00'}, (['Credit Card', 'Paypal', 'Affirm', 'Klarna', 'Splitit'], [{'creditcard': 'All option clickable and Payment CTA appearing '}, {'Paypal': 'Payment CTA appearing '}, {'Affirm': 'Payment CTA appearing '}, {'Split_it': 'All option clickable and Payment CTA appearing '}])) INFO  setup:test_orders_and_payment_flow.py:392 Token No is: 619a2f763ee39db6bddea38a11a67acccd32bec589cf28aeb9f12fbbb57547db INFO  setup:test_orders_and_payment_flow.py:396 RAW SQL Data: [{'items': 'a:1:{i:0;a:33:{s:2:"id";s:3:"105";s:4:"name";s:65:"Full Stack Web Developer - MEAN Stack Online Classroom Flexi-Pass";s:11:"description";s:4:" - 1";s:5:"price";s:7:"1499.00";s:9:"basePrice";s:4:"1499";s:19:"display_total_price";s:8:"1,499.00";s:8:"quantity";i:1;s:11:"isEarlyBird";i:0;s:4:"type";s:9:"classroom";s:15:"trainingType_id";s:1:"9";s:10:"accessDays";s:3:"335";s:13:"productTypeId";s:1:"2";s:15:"productTypeName";s:6:"bundle";s:11:"actual_name";s:37:"Full Stack Web Developer - MEAN Stack";s:7:"priceId";s:0:"";s:11:"billingType";i:1;s:7:"img_url";s:83:"https://www.simplilearn.com/ice9/course_images/bundle313x225/mean-stack-master.svgz";s:10:"course_url";N;s:17:"training_type_txt";s:27:"Online Classroom Flexi-Pass";s:9:"messageTT";s:0:"";s:8:"cohortId";s:24:"63a1c1612b22261dd54eac86";s:14:"welcomeClassId";s:24:"63a1c1962b22261dd54eac87";s:10:"cohortName";s:25:"MS MEAN MAR 2023 Cohort 1";s:21:"welcomeClassStartDate";i:1675189800;s:15:"cohortStartDate";i:1679752800;s:13:"cohortEndDate";i:1695578400;s:25:"welcomeClassStartDateUser";i:1675218600;s:19:"cohortStartDateUser";i:1679785200;s:17:"cohortEndDateUser";i:1695625200;s:16:"primary_label_id";s:2:"25";s:18:"primary_label_name";s:20:"Software Development";s:12:"cateforyInfo";a:1:{i:25;s:20:"Software Development";}s:15:"program_version";i:1;}}', 'emailId': 'simplilearnautomation@gmail.com', 'contactNumber': '+1-123456789'}] INFO  setup:test_orders_and_payment_flow.py:398 SQL DATA in JSON format: {'id': '105', 'name': 'Full Stack Web Developer - MEAN Stack Online Classroom Flexi-Pass', 'description': ' - 1', 'price': '1499.00', 'basePrice': '1499', 'display_total_price': '1,499.00', 'quantity': 'isEarlyBird', 'type': 'classroom', 'trainingType_id': '9', 'accessDays': '335', 'productTypeId': '2', 'productTypeName': 'bundle', 'actual_name': 'Full Stack Web Developer - MEAN Stack', 'priceId': '', 'img_url': 'https://www.simplilearn.com/ice9/course_images/bundle313x225/mean-stack-master.svgz', 'training_type_txt': 'Online Classroom Flexi-Pass', 'messageTT': '', 'cohortId': '63a1c1612b22261dd54eac86', 'welcomeClassId': '63a1c1962b22261dd54eac87', 'cohortName': 'MS MEAN MAR 2023 Cohort 1', 'welcomeClassStartDate': 'cohortStartDate', 'cohortEndDate': 'welcomeClassStartDateUser', 'cohortStartDateUser': 'cohortEndDateUser', 'primary_label_id': '25', 'primary_label_name': 'Software Development'} INFO  setup:test_orders_and_payment_flow.py:650 Verifiaction Status Log Message: ['DB Verification Successfull']
Passed test_orders_and_payment_flow.py::TestOrderAndPaymentFlowMastersProgram::test_Orders_and_Payment_Flow_masters_program[F] 109.86
-------------------------------Captured log call--------------------------------
INFO  setup:test_orders_and_payment_flow.py:376 Url Opened is: https://www.simplilearn.com/automation-testing-masters-program-certification-training-course INFO  setup:orders_page.py:30 Country Set to: US INFO  setup:orders_page.py:159 clicked on Enroll Now button for Masters Program INFO  setup:orders_page.py:162 Payment Page Loaded INFO  setup:test_orders_and_payment_flow.py:473 <class 'tuple'> INFO  setup:ssvc_cart_page.py:336 Payment Deatils Entered INFO  setup:test_orders_and_payment_flow.py:385 <class 'tuple'> INFO  setup:test_orders_and_payment_flow.py:388 course_data: ({'course_name': 'Automation Testing Masters Program', 'course_type': 'Online Bootcamp', 'base_price': '$ 1,499.00', 'final_price': '1,499.00'}, (['Credit Card', 'Paypal', 'Affirm', 'Klarna', 'Splitit'], [{'creditcard': 'All option clickable and Payment CTA appearing '}, {'Paypal': 'Payment CTA appearing '}, {'Affirm': 'Payment CTA appearing '}, {'Split_it': 'All option clickable and Payment CTA appearing '}])) INFO  setup:test_orders_and_payment_flow.py:392 Token No is: a7bf069f8106e0adc496de1c1dee5f913f77bb0b953fc809546d5649429725e7 INFO  setup:test_orders_and_payment_flow.py:396 RAW SQL Data: [{'items': 'a:1:{i:0;a:24:{s:2:"id";s:3:"112";s:4:"name";s:62:"Automation Testing Masters Program Online Classroom Flexi-Pass";s:11:"description";s:4:" - 1";s:5:"price";s:7:"1499.00";s:9:"basePrice";s:4:"1499";s:19:"display_total_price";s:8:"1,499.00";s:8:"quantity";i:1;s:11:"isEarlyBird";i:0;s:4:"type";s:9:"classroom";s:15:"trainingType_id";s:1:"9";s:10:"accessDays";s:3:"335";s:13:"productTypeId";s:1:"2";s:15:"productTypeName";s:6:"bundle";s:11:"actual_name";s:34:"Automation Testing Masters Program";s:7:"priceId";s:0:"";s:11:"billingType";i:1;s:7:"img_url";s:105:"https://www.simplilearn.com/ice9/course_images/bundle313x225/Automation-Testing-Masters-Program-icon.svgz";s:10:"course_url";N;s:17:"training_type_txt";s:27:"Online Classroom Flexi-Pass";s:9:"messageTT";s:0:"";s:16:"primary_label_id";s:2:"25";s:18:"primary_label_name";s:20:"Software Development";s:12:"cateforyInfo";a:1:{i:25;s:20:"Software Development";}s:15:"program_version";i:1;}}', 'emailId': 'simplilearnautomation@gmail.com', 'contactNumber': '+1-123456789'}] INFO  setup:test_orders_and_payment_flow.py:398 SQL DATA in JSON format: {'id': '112', 'name': 'Automation Testing Masters Program Online Classroom Flexi-Pass', 'description': ' - 1', 'price': '1499.00', 'basePrice': '1499', 'display_total_price': '1,499.00', 'quantity': 'isEarlyBird', 'type': 'classroom', 'trainingType_id': '9', 'accessDays': '335', 'productTypeId': '2', 'productTypeName': 'bundle', 'actual_name': 'Automation Testing Masters Program', 'priceId': '', 'img_url': 'https://www.simplilearn.com/ice9/course_images/bundle313x225/Automation-Testing-Masters-Program-icon.svgz', 'training_type_txt': 'Online Classroom Flexi-Pass', 'messageTT': '', 'primary_label_id': '25', 'primary_label_name': 'Software Development'} INFO  setup:test_orders_and_payment_flow.py:650 Verifiaction Status Log Message: ['DB Verification Successfull']
Passed test_orders_and_payment_flow.py::TestOrderAndPaymentFlowMastersProgram::test_Orders_and_Payment_Flow_masters_program[G] 108.53
-------------------------------Captured log call--------------------------------
INFO  setup:test_orders_and_payment_flow.py:376 Url Opened is: https://www.simplilearn.com/ui-ux-design-masters-program-certification-course INFO  setup:orders_page.py:30 Country Set to: US INFO  setup:orders_page.py:159 clicked on Enroll Now button for Masters Program INFO  setup:orders_page.py:162 Payment Page Loaded INFO  setup:test_orders_and_payment_flow.py:473 <class 'tuple'> INFO  setup:ssvc_cart_page.py:336 Payment Deatils Entered INFO  setup:test_orders_and_payment_flow.py:385 <class 'tuple'> INFO  setup:test_orders_and_payment_flow.py:388 course_data: ({'course_name': 'UI/UX Design Expert', 'course_type': 'Online Bootcamp', 'base_price': '$ 1,999.00', 'final_price': '1,999.00'}, (['Credit Card', 'Paypal', 'Affirm', 'Klarna', 'Splitit'], [{'creditcard': 'All option clickable and Payment CTA appearing '}, {'Paypal': 'Payment CTA appearing '}, {'Affirm': 'Payment CTA appearing '}, {'Split_it': 'All option clickable and Payment CTA appearing '}])) INFO  setup:test_orders_and_payment_flow.py:392 Token No is: e4b59297270c8824c60800b3b9bec65901f021406b6435f4c9bed36a8b66f738 INFO  setup:test_orders_and_payment_flow.py:396 RAW SQL Data: [{'items': 'a:1:{i:0;a:33:{s:2:"id";s:3:"290";s:4:"name";s:47:"UI/UX Design Expert Online Classroom Flexi-Pass";s:11:"description";s:4:" - 1";s:5:"price";s:7:"1999.00";s:9:"basePrice";s:4:"1999";s:19:"display_total_price";s:8:"1,999.00";s:8:"quantity";i:1;s:11:"isEarlyBird";i:0;s:4:"type";s:9:"classroom";s:15:"trainingType_id";s:1:"9";s:10:"accessDays";s:3:"120";s:13:"productTypeId";s:1:"2";s:15:"productTypeName";s:6:"bundle";s:11:"actual_name";s:19:"UI/UX Design Expert";s:7:"priceId";s:0:"";s:11:"billingType";i:1;s:7:"img_url";s:49:"https://www.simplilearn.com/ice9/banners/IoT.svgz";s:10:"course_url";N;s:17:"training_type_txt";s:27:"Online Classroom Flexi-Pass";s:9:"messageTT";s:0:"";s:8:"cohortId";s:24:"63a67a2e2b22261dd54eb32a";s:14:"welcomeClassId";s:24:"63a67a922b22261dd54eb32b";s:10:"cohortName";s:26:"MS UI/UX Mar 2023 Cohort 1";s:21:"welcomeClassStartDate";i:1675621800;s:15:"cohortStartDate";i:1678543200;s:13:"cohortEndDate";i:1688148000;s:25:"welcomeClassStartDateUser";i:1675650600;s:19:"cohortStartDateUser";i:1678575600;s:17:"cohortEndDateUser";i:1688194800;s:16:"primary_label_id";s:2:"25";s:18:"primary_label_name";s:20:"Software Development";s:12:"cateforyInfo";a:1:{i:25;s:20:"Software Development";}s:15:"program_version";i:2;}}', 'emailId': 'simplilearnautomation@gmail.com', 'contactNumber': '+1-123456789'}] INFO  setup:test_orders_and_payment_flow.py:398 SQL DATA in JSON format: {'id': '290', 'name': 'UI/UX Design Expert Online Classroom Flexi-Pass', 'description': ' - 1', 'price': '1999.00', 'basePrice': '1999', 'display_total_price': '1,999.00', 'quantity': 'isEarlyBird', 'type': 'classroom', 'trainingType_id': '9', 'accessDays': '120', 'productTypeId': '2', 'productTypeName': 'bundle', 'actual_name': 'UI/UX Design Expert', 'priceId': '', 'img_url': 'https://www.simplilearn.com/ice9/banners/IoT.svgz', 'training_type_txt': 'Online Classroom Flexi-Pass', 'messageTT': '', 'cohortId': '63a67a2e2b22261dd54eb32a', 'welcomeClassId': '63a67a922b22261dd54eb32b', 'cohortName': 'MS UI/UX Mar 2023 Cohort 1', 'welcomeClassStartDate': 'cohortStartDate', 'cohortEndDate': 'welcomeClassStartDateUser', 'cohortStartDateUser': 'cohortEndDateUser', 'primary_label_id': '25', 'primary_label_name': 'Software Development'} INFO  setup:test_orders_and_payment_flow.py:650 Verifiaction Status Log Message: ['DB Verification Successfull']
Passed test_orders_and_payment_flow.py::TestOrderAndPaymentFlowMastersProgram::test_Orders_and_Payment_Flow_masters_program[H] 68.55
-------------------------------Captured log call--------------------------------
INFO  setup:test_orders_and_payment_flow.py:376 Url Opened is: https://www.simplilearn.com/advanced-digital-marketing-certification-training-course INFO  setup:orders_page.py:30 Country Set to: US INFO  setup:orders_page.py:159 clicked on Enroll Now button for Masters Program INFO  setup:orders_page.py:162 Payment Page Loaded INFO  setup:test_orders_and_payment_flow.py:473 <class 'tuple'> INFO  setup:ssvc_cart_page.py:336 Payment Deatils Entered INFO  setup:test_orders_and_payment_flow.py:385 <class 'tuple'> INFO  setup:test_orders_and_payment_flow.py:388 course_data: ({'course_name': 'Digital Marketing Specialist', 'course_type': 'Online Bootcamp', 'base_price': '$ 1,649.00', 'final_price': '1,649.00'}, (['Credit Card', 'Paypal', 'Affirm', 'Klarna', 'Splitit'], [{'creditcard': 'All option clickable and Payment CTA appearing '}, {'Paypal': 'Payment CTA appearing '}, {'Affirm': 'Payment CTA appearing '}, {'Split_it': 'All option clickable and Payment CTA appearing '}])) INFO  setup:test_orders_and_payment_flow.py:392 Token No is: 4aef5bce5e0a2fb22c5cb2bad952442842902786ce67b1e44c47e13f0179aef9 INFO  setup:test_orders_and_payment_flow.py:396 RAW SQL Data: [{'items': 'a:1:{i:0;a:24:{s:2:"id";s:2:"23";s:4:"name";s:49:"Digital Marketing Specialist Online Self Learning";s:11:"description";s:4:" - 1";s:5:"price";s:7:"1649.00";s:9:"basePrice";s:4:"1649";s:19:"display_total_price";s:8:"1,649.00";s:8:"quantity";i:1;s:11:"isEarlyBird";i:0;s:4:"type";s:6:"online";s:15:"trainingType_id";s:1:"9";s:10:"accessDays";s:3:"335";s:13:"productTypeId";s:1:"2";s:15:"productTypeName";s:6:"bundle";s:11:"actual_name";s:28:"Digital Marketing Specialist";s:7:"priceId";s:0:"";s:11:"billingType";i:1;s:7:"img_url";s:88:"https://www.simplilearn.com/ice9/course_images/bundle313x225/Digital-marketing-head.svgz";s:10:"course_url";s:57:"/advanced-digital-marketing-certification-training-course";s:17:"training_type_txt";s:20:"Online Self Learning";s:9:"messageTT";s:0:"";s:16:"primary_label_id";s:2:"18";s:18:"primary_label_name";s:17:"Digital Marketing";s:12:"cateforyInfo";a:1:{i:18;s:17:"Digital Marketing";}s:15:"program_version";i:3;}}', 'emailId': 'simplilearnautomation@gmail.com', 'contactNumber': '+1-123456789'}] INFO  setup:test_orders_and_payment_flow.py:398 SQL DATA in JSON format: {'id': '23', 'name': 'Digital Marketing Specialist Online Self Learning', 'description': ' - 1', 'price': '1649.00', 'basePrice': '1649', 'display_total_price': '1,649.00', 'quantity': 'isEarlyBird', 'type': 'online', 'trainingType_id': '9', 'accessDays': '335', 'productTypeId': '2', 'productTypeName': 'bundle', 'actual_name': 'Digital Marketing Specialist', 'priceId': '', 'img_url': 'https://www.simplilearn.com/ice9/course_images/bundle313x225/Digital-marketing-head.svgz', 'course_url': '/advanced-digital-marketing-certification-training-course', 'training_type_txt': 'Online Self Learning', 'messageTT': '', 'primary_label_id': '18', 'primary_label_name': 'Digital Marketing'} INFO  setup:test_orders_and_payment_flow.py:650 Verifiaction Status Log Message: ['DB Verification Successfull']
Passed test_orders_and_payment_flow.py::TestOrderAndPaymentFlowMastersProgram::test_Orders_and_Payment_Flow_masters_program[I] 139.56
-------------------------------Captured log call--------------------------------
INFO  setup:test_orders_and_payment_flow.py:376 Url Opened is: https://www.simplilearn.com/full-stack-web-developer-mean-stack-certification-training INFO  setup:orders_page.py:30 Country Set to: GB INFO  setup:orders_page.py:159 clicked on Enroll Now button for Masters Program INFO  setup:orders_page.py:162 Payment Page Loaded ERROR  setup:ssvc_cart_page.py:55 Exception in City dropdown Traceback (most recent call last): File "C:\test_repos\pre_sales_test_python\pages_prod\ssvc_cart_page.py", line 52, in fill_learner_details_and_proceed self.city_dropdown.select_element_by_index(1) File "C:\test_repos\pre_sales_test_python\core\page_factory.py", line 60, in __getattr__ raise NoSuchElementException("An exception of type " + type(error).__name__ + " occurred. With Element -: " + loc) selenium.common.exceptions.NoSuchElementException: Message: An exception of type TimeoutException occurred. With Element -: city_dropdown INFO  setup:test_orders_and_payment_flow.py:473 <class 'tuple'> INFO  setup:ssvc_cart_page.py:336 Payment Deatils Entered INFO  setup:test_orders_and_payment_flow.py:385 <class 'tuple'> INFO  setup:test_orders_and_payment_flow.py:388 course_data: ({'course_name': 'Full Stack Web Developer - MEAN Stack', 'course_type': 'Online Bootcamp', 'base_price': '£ 1,390.00', 'final_price': '1,390.00'}, (['Credit Card', 'Paypal', 'Splitit'], [{'creditcard': 'All option clickable and Payment CTA appearing '}, {'Paypal': 'Payment CTA appearing '}, {'Split_it': 'All option clickable and Payment CTA appearing '}])) INFO  setup:test_orders_and_payment_flow.py:392 Token No is: 521db9883be05088874d251101dbd9d23fbbf972d88b9b4b24985a9fc5e65e27 INFO  setup:test_orders_and_payment_flow.py:396 RAW SQL Data: [{'items': 'a:1:{i:0;a:33:{s:2:"id";s:3:"105";s:4:"name";s:65:"Full Stack Web Developer - MEAN Stack Online Classroom Flexi-Pass";s:11:"description";s:4:" - 1";s:5:"price";s:7:"1390.00";s:9:"basePrice";s:4:"1390";s:19:"display_total_price";s:8:"1,390.00";s:8:"quantity";i:1;s:11:"isEarlyBird";i:0;s:4:"type";s:9:"classroom";s:15:"trainingType_id";s:1:"9";s:10:"accessDays";s:3:"335";s:13:"productTypeId";s:1:"2";s:15:"productTypeName";s:6:"bundle";s:11:"actual_name";s:37:"Full Stack Web Developer - MEAN Stack";s:7:"priceId";s:0:"";s:11:"billingType";i:1;s:7:"img_url";s:83:"https://www.simplilearn.com/ice9/course_images/bundle313x225/mean-stack-master.svgz";s:10:"course_url";N;s:17:"training_type_txt";s:27:"Online Classroom Flexi-Pass";s:9:"messageTT";s:0:"";s:8:"cohortId";s:24:"63a1c1612b22261dd54eac86";s:14:"welcomeClassId";s:24:"63a1c1962b22261dd54eac87";s:10:"cohortName";s:25:"MS MEAN MAR 2023 Cohort 1";s:21:"welcomeClassStartDate";i:1675189800;s:15:"cohortStartDate";i:1679752800;s:13:"cohortEndDate";i:1695578400;s:25:"welcomeClassStartDateUser";i:1675240200;s:19:"cohortStartDateUser";i:1679806800;s:17:"cohortEndDateUser";i:1695646800;s:16:"primary_label_id";s:2:"25";s:18:"primary_label_name";s:20:"Software Development";s:12:"cateforyInfo";a:1:{i:25;s:20:"Software Development";}s:15:"program_version";i:1;}}', 'emailId': 'simplilearnautomation@gmail.com', 'contactNumber': '+44-123456789'}] INFO  setup:test_orders_and_payment_flow.py:398 SQL DATA in JSON format: {'id': '105', 'name': 'Full Stack Web Developer - MEAN Stack Online Classroom Flexi-Pass', 'description': ' - 1', 'price': '1390.00', 'basePrice': '1390', 'display_total_price': '1,390.00', 'quantity': 'isEarlyBird', 'type': 'classroom', 'trainingType_id': '9', 'accessDays': '335', 'productTypeId': '2', 'productTypeName': 'bundle', 'actual_name': 'Full Stack Web Developer - MEAN Stack', 'priceId': '', 'img_url': 'https://www.simplilearn.com/ice9/course_images/bundle313x225/mean-stack-master.svgz', 'training_type_txt': 'Online Classroom Flexi-Pass', 'messageTT': '', 'cohortId': '63a1c1612b22261dd54eac86', 'welcomeClassId': '63a1c1962b22261dd54eac87', 'cohortName': 'MS MEAN MAR 2023 Cohort 1', 'welcomeClassStartDate': 'cohortStartDate', 'cohortEndDate': 'welcomeClassStartDateUser', 'cohortStartDateUser': 'cohortEndDateUser', 'primary_label_id': '25', 'primary_label_name': 'Software Development'} INFO  setup:test_orders_and_payment_flow.py:650 Verifiaction Status Log Message: ['DB Verification Successfull']
Passed test_orders_and_payment_flow.py::TestOrderAndPaymentFlowMastersProgram::test_Orders_and_Payment_Flow_masters_program[J] 140.95
-------------------------------Captured log call--------------------------------
INFO  setup:test_orders_and_payment_flow.py:376 Url Opened is: https://www.simplilearn.com/automation-testing-masters-program-certification-training-course INFO  setup:orders_page.py:30 Country Set to: GB INFO  setup:orders_page.py:159 clicked on Enroll Now button for Masters Program INFO  setup:orders_page.py:162 Payment Page Loaded ERROR  setup:ssvc_cart_page.py:55 Exception in City dropdown Traceback (most recent call last): File "C:\test_repos\pre_sales_test_python\pages_prod\ssvc_cart_page.py", line 52, in fill_learner_details_and_proceed self.city_dropdown.select_element_by_index(1) File "C:\test_repos\pre_sales_test_python\core\page_factory.py", line 60, in __getattr__ raise NoSuchElementException("An exception of type " + type(error).__name__ + " occurred. With Element -: " + loc) selenium.common.exceptions.NoSuchElementException: Message: An exception of type TimeoutException occurred. With Element -: city_dropdown INFO  setup:test_orders_and_payment_flow.py:473 <class 'tuple'> INFO  setup:ssvc_cart_page.py:336 Payment Deatils Entered INFO  setup:test_orders_and_payment_flow.py:385 <class 'tuple'> INFO  setup:test_orders_and_payment_flow.py:388 course_data: ({'course_name': 'Automation Testing Masters Program', 'course_type': 'Online Bootcamp', 'base_price': '£ 1,390.00', 'final_price': '1,390.00'}, (['Credit Card', 'Paypal', 'Splitit'], [{'creditcard': 'All option clickable and Payment CTA appearing '}, {'Paypal': 'Payment CTA appearing '}, {'Split_it': 'All option clickable and Payment CTA appearing '}])) INFO  setup:test_orders_and_payment_flow.py:392 Token No is: e4839575f38c981827d8213018314d16397316c6b56c9baf6eaaf3253e93e644 INFO  setup:test_orders_and_payment_flow.py:396 RAW SQL Data: [{'items': 'a:1:{i:0;a:24:{s:2:"id";s:3:"112";s:4:"name";s:62:"Automation Testing Masters Program Online Classroom Flexi-Pass";s:11:"description";s:4:" - 1";s:5:"price";s:7:"1390.00";s:9:"basePrice";s:4:"1390";s:19:"display_total_price";s:8:"1,390.00";s:8:"quantity";i:1;s:11:"isEarlyBird";i:0;s:4:"type";s:9:"classroom";s:15:"trainingType_id";s:1:"9";s:10:"accessDays";s:3:"335";s:13:"productTypeId";s:1:"2";s:15:"productTypeName";s:6:"bundle";s:11:"actual_name";s:34:"Automation Testing Masters Program";s:7:"priceId";s:0:"";s:11:"billingType";i:1;s:7:"img_url";s:105:"https://www.simplilearn.com/ice9/course_images/bundle313x225/Automation-Testing-Masters-Program-icon.svgz";s:10:"course_url";N;s:17:"training_type_txt";s:27:"Online Classroom Flexi-Pass";s:9:"messageTT";s:0:"";s:16:"primary_label_id";s:2:"25";s:18:"primary_label_name";s:20:"Software Development";s:12:"cateforyInfo";a:1:{i:25;s:20:"Software Development";}s:15:"program_version";i:1;}}', 'emailId': 'simplilearnautomation@gmail.com', 'contactNumber': '+44-123456789'}] INFO  setup:test_orders_and_payment_flow.py:398 SQL DATA in JSON format: {'id': '112', 'name': 'Automation Testing Masters Program Online Classroom Flexi-Pass', 'description': ' - 1', 'price': '1390.00', 'basePrice': '1390', 'display_total_price': '1,390.00', 'quantity': 'isEarlyBird', 'type': 'classroom', 'trainingType_id': '9', 'accessDays': '335', 'productTypeId': '2', 'productTypeName': 'bundle', 'actual_name': 'Automation Testing Masters Program', 'priceId': '', 'img_url': 'https://www.simplilearn.com/ice9/course_images/bundle313x225/Automation-Testing-Masters-Program-icon.svgz', 'training_type_txt': 'Online Classroom Flexi-Pass', 'messageTT': '', 'primary_label_id': '25', 'primary_label_name': 'Software Development'} INFO  setup:test_orders_and_payment_flow.py:650 Verifiaction Status Log Message: ['DB Verification Successfull']
Passed test_orders_and_payment_flow.py::TestOrderAndPaymentFlowMastersProgram::test_Orders_and_Payment_Flow_masters_program[K] 140.52
-------------------------------Captured log call--------------------------------
INFO  setup:test_orders_and_payment_flow.py:376 Url Opened is: https://www.simplilearn.com/ui-ux-design-masters-program-certification-course INFO  setup:orders_page.py:30 Country Set to: GB INFO  setup:orders_page.py:159 clicked on Enroll Now button for Masters Program INFO  setup:orders_page.py:162 Payment Page Loaded ERROR  setup:ssvc_cart_page.py:55 Exception in City dropdown Traceback (most recent call last): File "C:\test_repos\pre_sales_test_python\pages_prod\ssvc_cart_page.py", line 52, in fill_learner_details_and_proceed self.city_dropdown.select_element_by_index(1) File "C:\test_repos\pre_sales_test_python\core\page_factory.py", line 60, in __getattr__ raise NoSuchElementException("An exception of type " + type(error).__name__ + " occurred. With Element -: " + loc) selenium.common.exceptions.NoSuchElementException: Message: An exception of type TimeoutException occurred. With Element -: city_dropdown INFO  setup:test_orders_and_payment_flow.py:473 <class 'tuple'> INFO  setup:ssvc_cart_page.py:336 Payment Deatils Entered INFO  setup:test_orders_and_payment_flow.py:385 <class 'tuple'> INFO  setup:test_orders_and_payment_flow.py:388 course_data: ({'course_name': 'UI/UX Design Expert', 'course_type': 'Online Bootcamp', 'base_price': '£ 1,700.00', 'final_price': '1,700.00'}, (['Credit Card', 'Paypal', 'Splitit'], [{'creditcard': 'All option clickable and Payment CTA appearing '}, {'Paypal': 'Payment CTA appearing '}, {'Split_it': 'All option clickable and Payment CTA appearing '}])) INFO  setup:test_orders_and_payment_flow.py:392 Token No is: 1db817b3e15a03355961777e11a3ff774570090384c486e6a8ae386b581785e1 INFO  setup:test_orders_and_payment_flow.py:396 RAW SQL Data: [{'items': 'a:1:{i:0;a:33:{s:2:"id";s:3:"290";s:4:"name";s:47:"UI/UX Design Expert Online Classroom Flexi-Pass";s:11:"description";s:4:" - 1";s:5:"price";s:7:"1700.00";s:9:"basePrice";s:4:"1700";s:19:"display_total_price";s:8:"1,700.00";s:8:"quantity";i:1;s:11:"isEarlyBird";i:0;s:4:"type";s:9:"classroom";s:15:"trainingType_id";s:1:"9";s:10:"accessDays";s:3:"120";s:13:"productTypeId";s:1:"2";s:15:"productTypeName";s:6:"bundle";s:11:"actual_name";s:19:"UI/UX Design Expert";s:7:"priceId";s:0:"";s:11:"billingType";i:1;s:7:"img_url";s:49:"https://www.simplilearn.com/ice9/banners/IoT.svgz";s:10:"course_url";N;s:17:"training_type_txt";s:27:"Online Classroom Flexi-Pass";s:9:"messageTT";s:0:"";s:8:"cohortId";s:24:"63a67a2e2b22261dd54eb32a";s:14:"welcomeClassId";s:24:"63a67a922b22261dd54eb32b";s:10:"cohortName";s:26:"MS UI/UX Mar 2023 Cohort 1";s:21:"welcomeClassStartDate";i:1675621800;s:15:"cohortStartDate";i:1678543200;s:13:"cohortEndDate";i:1688148000;s:25:"welcomeClassStartDateUser";i:1675672200;s:19:"cohortStartDateUser";i:1678593600;s:17:"cohortEndDateUser";i:1688216400;s:16:"primary_label_id";s:2:"25";s:18:"primary_label_name";s:20:"Software Development";s:12:"cateforyInfo";a:1:{i:25;s:20:"Software Development";}s:15:"program_version";i:2;}}', 'emailId': 'simplilearnautomation@gmail.com', 'contactNumber': '+44-123456789'}] INFO  setup:test_orders_and_payment_flow.py:398 SQL DATA in JSON format: {'id': '290', 'name': 'UI/UX Design Expert Online Classroom Flexi-Pass', 'description': ' - 1', 'price': '1700.00', 'basePrice': '1700', 'display_total_price': '1,700.00', 'quantity': 'isEarlyBird', 'type': 'classroom', 'trainingType_id': '9', 'accessDays': '120', 'productTypeId': '2', 'productTypeName': 'bundle', 'actual_name': 'UI/UX Design Expert', 'priceId': '', 'img_url': 'https://www.simplilearn.com/ice9/banners/IoT.svgz', 'training_type_txt': 'Online Classroom Flexi-Pass', 'messageTT': '', 'cohortId': '63a67a2e2b22261dd54eb32a', 'welcomeClassId': '63a67a922b22261dd54eb32b', 'cohortName': 'MS UI/UX Mar 2023 Cohort 1', 'welcomeClassStartDate': 'cohortStartDate', 'cohortEndDate': 'welcomeClassStartDateUser', 'cohortStartDateUser': 'cohortEndDateUser', 'primary_label_id': '25', 'primary_label_name': 'Software Development'} INFO  setup:test_orders_and_payment_flow.py:650 Verifiaction Status Log Message: ['DB Verification Successfull']
Passed test_orders_and_payment_flow.py::TestOrderAndPaymentFlowMastersProgram::test_Orders_and_Payment_Flow_masters_program[L] 98.26
-------------------------------Captured log call--------------------------------
INFO  setup:test_orders_and_payment_flow.py:376 Url Opened is: https://www.simplilearn.com/advanced-digital-marketing-certification-training-course INFO  setup:orders_page.py:30 Country Set to: GB INFO  setup:orders_page.py:159 clicked on Enroll Now button for Masters Program INFO  setup:orders_page.py:162 Payment Page Loaded ERROR  setup:ssvc_cart_page.py:55 Exception in City dropdown Traceback (most recent call last): File "C:\test_repos\pre_sales_test_python\pages_prod\ssvc_cart_page.py", line 52, in fill_learner_details_and_proceed self.city_dropdown.select_element_by_index(1) File "C:\test_repos\pre_sales_test_python\core\page_factory.py", line 60, in __getattr__ raise NoSuchElementException("An exception of type " + type(error).__name__ + " occurred. With Element -: " + loc) selenium.common.exceptions.NoSuchElementException: Message: An exception of type TimeoutException occurred. With Element -: city_dropdown INFO  setup:test_orders_and_payment_flow.py:473 <class 'tuple'> INFO  setup:ssvc_cart_page.py:336 Payment Deatils Entered INFO  setup:test_orders_and_payment_flow.py:385 <class 'tuple'> INFO  setup:test_orders_and_payment_flow.py:388 course_data: ({'course_name': 'Digital Marketing Specialist', 'course_type': 'Online Bootcamp', 'base_price': '£ 1,049.00', 'final_price': '1,049.00'}, (['Credit Card', 'Paypal', 'Splitit'], [{'creditcard': 'All option clickable and Payment CTA appearing '}, {'Paypal': 'Payment CTA appearing '}, {'Split_it': 'All option clickable and Payment CTA appearing '}])) INFO  setup:test_orders_and_payment_flow.py:392 Token No is: 69357b67fc83d73f90f5ef87d650b6ca5ac76f1df04e58b06721f70b46eee40b INFO  setup:test_orders_and_payment_flow.py:396 RAW SQL Data: [{'items': 'a:1:{i:0;a:24:{s:2:"id";s:2:"23";s:4:"name";s:49:"Digital Marketing Specialist Online Self Learning";s:11:"description";s:4:" - 1";s:5:"price";s:7:"1049.00";s:9:"basePrice";s:4:"1049";s:19:"display_total_price";s:8:"1,049.00";s:8:"quantity";i:1;s:11:"isEarlyBird";i:0;s:4:"type";s:6:"online";s:15:"trainingType_id";s:1:"9";s:10:"accessDays";s:3:"335";s:13:"productTypeId";s:1:"2";s:15:"productTypeName";s:6:"bundle";s:11:"actual_name";s:28:"Digital Marketing Specialist";s:7:"priceId";s:0:"";s:11:"billingType";i:1;s:7:"img_url";s:88:"https://www.simplilearn.com/ice9/course_images/bundle313x225/Digital-marketing-head.svgz";s:10:"course_url";s:57:"/advanced-digital-marketing-certification-training-course";s:17:"training_type_txt";s:20:"Online Self Learning";s:9:"messageTT";s:0:"";s:16:"primary_label_id";s:2:"18";s:18:"primary_label_name";s:17:"Digital Marketing";s:12:"cateforyInfo";a:1:{i:18;s:17:"Digital Marketing";}s:15:"program_version";i:3;}}', 'emailId': 'simplilearnautomation@gmail.com', 'contactNumber': '+44-123456789'}] INFO  setup:test_orders_and_payment_flow.py:398 SQL DATA in JSON format: {'id': '23', 'name': 'Digital Marketing Specialist Online Self Learning', 'description': ' - 1', 'price': '1049.00', 'basePrice': '1049', 'display_total_price': '1,049.00', 'quantity': 'isEarlyBird', 'type': 'online', 'trainingType_id': '9', 'accessDays': '335', 'productTypeId': '2', 'productTypeName': 'bundle', 'actual_name': 'Digital Marketing Specialist', 'priceId': '', 'img_url': 'https://www.simplilearn.com/ice9/course_images/bundle313x225/Digital-marketing-head.svgz', 'course_url': '/advanced-digital-marketing-certification-training-course', 'training_type_txt': 'Online Self Learning', 'messageTT': '', 'primary_label_id': '18', 'primary_label_name': 'Digital Marketing'} INFO  setup:test_orders_and_payment_flow.py:650 Verifiaction Status Log Message: ['DB Verification Successfull']
Passed test_orders_and_payment_flow.py::TestOrderAndPaymentFlowMastersProgram::test_Orders_and_Payment_Flow_masters_program[M] 140.13
-------------------------------Captured log call--------------------------------
INFO  setup:test_orders_and_payment_flow.py:376 Url Opened is: https://www.simplilearn.com/full-stack-web-developer-mean-stack-certification-training INFO  setup:orders_page.py:30 Country Set to: AU INFO  setup:orders_page.py:159 clicked on Enroll Now button for Masters Program INFO  setup:orders_page.py:162 Payment Page Loaded ERROR  setup:ssvc_cart_page.py:55 Exception in City dropdown Traceback (most recent call last): File "C:\test_repos\pre_sales_test_python\pages_prod\ssvc_cart_page.py", line 52, in fill_learner_details_and_proceed self.city_dropdown.select_element_by_index(1) File "C:\test_repos\pre_sales_test_python\core\page_factory.py", line 60, in __getattr__ raise NoSuchElementException("An exception of type " + type(error).__name__ + " occurred. With Element -: " + loc) selenium.common.exceptions.NoSuchElementException: Message: An exception of type TimeoutException occurred. With Element -: city_dropdown INFO  setup:test_orders_and_payment_flow.py:473 <class 'tuple'> INFO  setup:ssvc_cart_page.py:336 Payment Deatils Entered INFO  setup:test_orders_and_payment_flow.py:385 <class 'tuple'> INFO  setup:test_orders_and_payment_flow.py:388 course_data: ({'course_name': 'Full Stack Web Developer - MEAN Stack', 'course_type': 'Online Bootcamp', 'base_price': 'A$ 1,605.00', 'final_price': '1,605.00'}, (['Credit Card', 'Paypal', 'Splitit'], [{'creditcard': 'All option clickable and Payment CTA appearing '}, {'Paypal': 'Payment CTA appearing '}, {'Split_it': 'All option clickable and Payment CTA appearing '}])) INFO  setup:test_orders_and_payment_flow.py:392 Token No is: f2e913a884c78057ae5c4b820b130c807ad86a63b8d9b26964be5c7a56b4c2f3 INFO  setup:test_orders_and_payment_flow.py:396 RAW SQL Data: [{'items': 'a:1:{i:0;a:33:{s:2:"id";s:3:"105";s:4:"name";s:65:"Full Stack Web Developer - MEAN Stack Online Classroom Flexi-Pass";s:11:"description";s:4:" - 1";s:5:"price";s:7:"1605.00";s:9:"basePrice";s:4:"1605";s:19:"display_total_price";s:8:"1,605.00";s:8:"quantity";i:1;s:11:"isEarlyBird";i:0;s:4:"type";s:9:"classroom";s:15:"trainingType_id";s:1:"9";s:10:"accessDays";s:3:"335";s:13:"productTypeId";s:1:"2";s:15:"productTypeName";s:6:"bundle";s:11:"actual_name";s:37:"Full Stack Web Developer - MEAN Stack";s:7:"priceId";s:0:"";s:11:"billingType";i:1;s:7:"img_url";s:83:"https://www.simplilearn.com/ice9/course_images/bundle313x225/mean-stack-master.svgz";s:10:"course_url";N;s:17:"training_type_txt";s:27:"Online Classroom Flexi-Pass";s:9:"messageTT";s:0:"";s:8:"cohortId";s:24:"63a1c1612b22261dd54eac86";s:14:"welcomeClassId";s:24:"63a1c1962b22261dd54eac87";s:10:"cohortName";s:25:"MS MEAN MAR 2023 Cohort 1";s:21:"welcomeClassStartDate";i:1675189800;s:15:"cohortStartDate";i:1679752800;s:13:"cohortEndDate";i:1695578400;s:25:"welcomeClassStartDateUser";i:1675279800;s:19:"cohortStartDateUser";i:1679842800;s:17:"cohortEndDateUser";i:1695679200;s:16:"primary_label_id";s:2:"25";s:18:"primary_label_name";s:20:"Software Development";s:12:"cateforyInfo";a:1:{i:25;s:20:"Software Development";}s:15:"program_version";i:1;}}', 'emailId': 'simplilearnautomation@gmail.com', 'contactNumber': '+44-123456789'}] INFO  setup:test_orders_and_payment_flow.py:398 SQL DATA in JSON format: {'id': '105', 'name': 'Full Stack Web Developer - MEAN Stack Online Classroom Flexi-Pass', 'description': ' - 1', 'price': '1605.00', 'basePrice': '1605', 'display_total_price': '1,605.00', 'quantity': 'isEarlyBird', 'type': 'classroom', 'trainingType_id': '9', 'accessDays': '335', 'productTypeId': '2', 'productTypeName': 'bundle', 'actual_name': 'Full Stack Web Developer - MEAN Stack', 'priceId': '', 'img_url': 'https://www.simplilearn.com/ice9/course_images/bundle313x225/mean-stack-master.svgz', 'training_type_txt': 'Online Classroom Flexi-Pass', 'messageTT': '', 'cohortId': '63a1c1612b22261dd54eac86', 'welcomeClassId': '63a1c1962b22261dd54eac87', 'cohortName': 'MS MEAN MAR 2023 Cohort 1', 'welcomeClassStartDate': 'cohortStartDate', 'cohortEndDate': 'welcomeClassStartDateUser', 'cohortStartDateUser': 'cohortEndDateUser', 'primary_label_id': '25', 'primary_label_name': 'Software Development'} INFO  setup:test_orders_and_payment_flow.py:650 Verifiaction Status Log Message: ['DB Verification Successfull']
Passed test_orders_and_payment_flow.py::TestOrderAndPaymentFlowMastersProgram::test_Orders_and_Payment_Flow_masters_program[N] 138.36
-------------------------------Captured log call--------------------------------
INFO  setup:test_orders_and_payment_flow.py:376 Url Opened is: https://www.simplilearn.com/automation-testing-masters-program-certification-training-course INFO  setup:orders_page.py:30 Country Set to: AU INFO  setup:orders_page.py:159 clicked on Enroll Now button for Masters Program INFO  setup:orders_page.py:162 Payment Page Loaded ERROR  setup:ssvc_cart_page.py:55 Exception in City dropdown Traceback (most recent call last): File "C:\test_repos\pre_sales_test_python\pages_prod\ssvc_cart_page.py", line 52, in fill_learner_details_and_proceed self.city_dropdown.select_element_by_index(1) File "C:\test_repos\pre_sales_test_python\core\page_factory.py", line 60, in __getattr__ raise NoSuchElementException("An exception of type " + type(error).__name__ + " occurred. With Element -: " + loc) selenium.common.exceptions.NoSuchElementException: Message: An exception of type TimeoutException occurred. With Element -: city_dropdown INFO  setup:test_orders_and_payment_flow.py:473 <class 'tuple'> INFO  setup:ssvc_cart_page.py:336 Payment Deatils Entered INFO  setup:test_orders_and_payment_flow.py:385 <class 'tuple'> INFO  setup:test_orders_and_payment_flow.py:388 course_data: ({'course_name': 'Automation Testing Masters Program', 'course_type': 'Online Bootcamp', 'base_price': 'A$ 2,139.00', 'final_price': '2,139.00'}, (['Credit Card', 'Paypal', 'Splitit'], [{'creditcard': 'All option clickable and Payment CTA appearing '}, {'Paypal': 'Payment CTA appearing '}, {'Split_it': 'All option clickable and Payment CTA appearing '}])) INFO  setup:test_orders_and_payment_flow.py:392 Token No is: d3a077e236112e8ddcd77139e4ba023cb1bdf9ae15eae763e99e5df353410fce INFO  setup:test_orders_and_payment_flow.py:396 RAW SQL Data: [{'items': 'a:1:{i:0;a:24:{s:2:"id";s:3:"112";s:4:"name";s:62:"Automation Testing Masters Program Online Classroom Flexi-Pass";s:11:"description";s:4:" - 1";s:5:"price";s:7:"2139.00";s:9:"basePrice";s:4:"2139";s:19:"display_total_price";s:8:"2,139.00";s:8:"quantity";i:1;s:11:"isEarlyBird";i:0;s:4:"type";s:9:"classroom";s:15:"trainingType_id";s:1:"9";s:10:"accessDays";s:3:"335";s:13:"productTypeId";s:1:"2";s:15:"productTypeName";s:6:"bundle";s:11:"actual_name";s:34:"Automation Testing Masters Program";s:7:"priceId";s:0:"";s:11:"billingType";i:1;s:7:"img_url";s:105:"https://www.simplilearn.com/ice9/course_images/bundle313x225/Automation-Testing-Masters-Program-icon.svgz";s:10:"course_url";N;s:17:"training_type_txt";s:27:"Online Classroom Flexi-Pass";s:9:"messageTT";s:0:"";s:16:"primary_label_id";s:2:"25";s:18:"primary_label_name";s:20:"Software Development";s:12:"cateforyInfo";a:1:{i:25;s:20:"Software Development";}s:15:"program_version";i:1;}}', 'emailId': 'simplilearnautomation@gmail.com', 'contactNumber': '+61-123456789'}] INFO  setup:test_orders_and_payment_flow.py:398 SQL DATA in JSON format: {'id': '112', 'name': 'Automation Testing Masters Program Online Classroom Flexi-Pass', 'description': ' - 1', 'price': '2139.00', 'basePrice': '2139', 'display_total_price': '2,139.00', 'quantity': 'isEarlyBird', 'type': 'classroom', 'trainingType_id': '9', 'accessDays': '335', 'productTypeId': '2', 'productTypeName': 'bundle', 'actual_name': 'Automation Testing Masters Program', 'priceId': '', 'img_url': 'https://www.simplilearn.com/ice9/course_images/bundle313x225/Automation-Testing-Masters-Program-icon.svgz', 'training_type_txt': 'Online Classroom Flexi-Pass', 'messageTT': '', 'primary_label_id': '25', 'primary_label_name': 'Software Development'} INFO  setup:test_orders_and_payment_flow.py:650 Verifiaction Status Log Message: ['DB Verification Successfull']
Passed test_orders_and_payment_flow.py::TestOrderAndPaymentFlowMastersProgram::test_Orders_and_Payment_Flow_masters_program[O] 140.57
-------------------------------Captured log call--------------------------------
INFO  setup:test_orders_and_payment_flow.py:376 Url Opened is: https://www.simplilearn.com/ui-ux-design-masters-program-certification-course INFO  setup:orders_page.py:30 Country Set to: AU INFO  setup:orders_page.py:159 clicked on Enroll Now button for Masters Program INFO  setup:orders_page.py:162 Payment Page Loaded ERROR  setup:ssvc_cart_page.py:55 Exception in City dropdown Traceback (most recent call last): File "C:\test_repos\pre_sales_test_python\pages_prod\ssvc_cart_page.py", line 52, in fill_learner_details_and_proceed self.city_dropdown.select_element_by_index(1) File "C:\test_repos\pre_sales_test_python\core\page_factory.py", line 60, in __getattr__ raise NoSuchElementException("An exception of type " + type(error).__name__ + " occurred. With Element -: " + loc) selenium.common.exceptions.NoSuchElementException: Message: An exception of type TimeoutException occurred. With Element -: city_dropdown INFO  setup:test_orders_and_payment_flow.py:473 <class 'tuple'> INFO  setup:ssvc_cart_page.py:336 Payment Deatils Entered INFO  setup:test_orders_and_payment_flow.py:385 <class 'tuple'> INFO  setup:test_orders_and_payment_flow.py:388 course_data: ({'course_name': 'UI/UX Design Expert', 'course_type': 'Online Bootcamp', 'base_price': 'A$ 1,949.00', 'final_price': '1,949.00'}, (['Credit Card', 'Paypal', 'Splitit'], [{'creditcard': 'All option clickable and Payment CTA appearing '}, {'Paypal': 'Payment CTA appearing '}, {'Split_it': 'All option clickable and Payment CTA appearing '}])) INFO  setup:test_orders_and_payment_flow.py:392 Token No is: ef369313836081a2c6f641fe214cbb79d1e6efe48797684eb93cac023f75f6f2 INFO  setup:test_orders_and_payment_flow.py:396 RAW SQL Data: [{'items': 'a:1:{i:0;a:33:{s:2:"id";s:3:"290";s:4:"name";s:47:"UI/UX Design Expert Online Classroom Flexi-Pass";s:11:"description";s:4:" - 1";s:5:"price";s:7:"1949.00";s:9:"basePrice";s:4:"1949";s:19:"display_total_price";s:8:"1,949.00";s:8:"quantity";i:1;s:11:"isEarlyBird";i:0;s:4:"type";s:9:"classroom";s:15:"trainingType_id";s:1:"9";s:10:"accessDays";s:3:"120";s:13:"productTypeId";s:1:"2";s:15:"productTypeName";s:6:"bundle";s:11:"actual_name";s:19:"UI/UX Design Expert";s:7:"priceId";s:0:"";s:11:"billingType";i:1;s:7:"img_url";s:49:"https://www.simplilearn.com/ice9/banners/IoT.svgz";s:10:"course_url";N;s:17:"training_type_txt";s:27:"Online Classroom Flexi-Pass";s:9:"messageTT";s:0:"";s:8:"cohortId";s:24:"63a67a2e2b22261dd54eb32a";s:14:"welcomeClassId";s:24:"63a67a922b22261dd54eb32b";s:10:"cohortName";s:26:"MS UI/UX Mar 2023 Cohort 1";s:21:"welcomeClassStartDate";i:1675621800;s:15:"cohortStartDate";i:1678543200;s:13:"cohortEndDate";i:1688148000;s:25:"welcomeClassStartDateUser";i:1675711800;s:19:"cohortStartDateUser";i:1678633200;s:17:"cohortEndDateUser";i:1688248800;s:16:"primary_label_id";s:2:"25";s:18:"primary_label_name";s:20:"Software Development";s:12:"cateforyInfo";a:1:{i:25;s:20:"Software Development";}s:15:"program_version";i:2;}}', 'emailId': 'simplilearnautomation@gmail.com', 'contactNumber': '+61-123456789'}] INFO  setup:test_orders_and_payment_flow.py:398 SQL DATA in JSON format: {'id': '290', 'name': 'UI/UX Design Expert Online Classroom Flexi-Pass', 'description': ' - 1', 'price': '1949.00', 'basePrice': '1949', 'display_total_price': '1,949.00', 'quantity': 'isEarlyBird', 'type': 'classroom', 'trainingType_id': '9', 'accessDays': '120', 'productTypeId': '2', 'productTypeName': 'bundle', 'actual_name': 'UI/UX Design Expert', 'priceId': '', 'img_url': 'https://www.simplilearn.com/ice9/banners/IoT.svgz', 'training_type_txt': 'Online Classroom Flexi-Pass', 'messageTT': '', 'cohortId': '63a67a2e2b22261dd54eb32a', 'welcomeClassId': '63a67a922b22261dd54eb32b', 'cohortName': 'MS UI/UX Mar 2023 Cohort 1', 'welcomeClassStartDate': 'cohortStartDate', 'cohortEndDate': 'welcomeClassStartDateUser', 'cohortStartDateUser': 'cohortEndDateUser', 'primary_label_id': '25', 'primary_label_name': 'Software Development'} INFO  setup:test_orders_and_payment_flow.py:650 Verifiaction Status Log Message: ['DB Verification Successfull']
Passed test_orders_and_payment_flow.py::TestOrderAndPaymentFlowMastersProgram::test_Orders_and_Payment_Flow_masters_program[P] 98.48
-------------------------------Captured log call--------------------------------
INFO  setup:test_orders_and_payment_flow.py:376 Url Opened is: https://www.simplilearn.com/advanced-digital-marketing-certification-training-course INFO  setup:orders_page.py:30 Country Set to: AU INFO  setup:orders_page.py:159 clicked on Enroll Now button for Masters Program INFO  setup:orders_page.py:162 Payment Page Loaded ERROR  setup:ssvc_cart_page.py:55 Exception in City dropdown Traceback (most recent call last): File "C:\test_repos\pre_sales_test_python\pages_prod\ssvc_cart_page.py", line 52, in fill_learner_details_and_proceed self.city_dropdown.select_element_by_index(1) File "C:\test_repos\pre_sales_test_python\core\page_factory.py", line 60, in __getattr__ raise NoSuchElementException("An exception of type " + type(error).__name__ + " occurred. With Element -: " + loc) selenium.common.exceptions.NoSuchElementException: Message: An exception of type TimeoutException occurred. With Element -: city_dropdown INFO  setup:test_orders_and_payment_flow.py:473 <class 'tuple'> INFO  setup:ssvc_cart_page.py:336 Payment Deatils Entered INFO  setup:test_orders_and_payment_flow.py:385 <class 'tuple'> INFO  setup:test_orders_and_payment_flow.py:388 course_data: ({'course_name': 'Digital Marketing Specialist', 'course_type': 'Online Bootcamp', 'base_price': 'A$ 1,399.00', 'final_price': '1,399.00'}, (['Credit Card', 'Paypal', 'Splitit'], [{'creditcard': 'All option clickable and Payment CTA appearing '}, {'Paypal': 'Payment CTA appearing '}, {'Split_it': 'All option clickable and Payment CTA appearing '}])) INFO  setup:test_orders_and_payment_flow.py:392 Token No is: 1cd4eaca8cde9ca0c03b77bcd845d2e1944c37fb0552682e5738c6f15e527a89 INFO  setup:test_orders_and_payment_flow.py:396 RAW SQL Data: [{'items': 'a:1:{i:0;a:24:{s:2:"id";s:2:"23";s:4:"name";s:49:"Digital Marketing Specialist Online Self Learning";s:11:"description";s:4:" - 1";s:5:"price";s:7:"1399.00";s:9:"basePrice";s:4:"1399";s:19:"display_total_price";s:8:"1,399.00";s:8:"quantity";i:1;s:11:"isEarlyBird";i:0;s:4:"type";s:6:"online";s:15:"trainingType_id";s:1:"9";s:10:"accessDays";s:3:"335";s:13:"productTypeId";s:1:"2";s:15:"productTypeName";s:6:"bundle";s:11:"actual_name";s:28:"Digital Marketing Specialist";s:7:"priceId";s:0:"";s:11:"billingType";i:1;s:7:"img_url";s:88:"https://www.simplilearn.com/ice9/course_images/bundle313x225/Digital-marketing-head.svgz";s:10:"course_url";s:57:"/advanced-digital-marketing-certification-training-course";s:17:"training_type_txt";s:20:"Online Self Learning";s:9:"messageTT";s:0:"";s:16:"primary_label_id";s:2:"18";s:18:"primary_label_name";s:17:"Digital Marketing";s:12:"cateforyInfo";a:1:{i:18;s:17:"Digital Marketing";}s:15:"program_version";i:3;}}', 'emailId': 'simplilearnautomation@gmail.com', 'contactNumber': '+61-123456789'}] INFO  setup:test_orders_and_payment_flow.py:398 SQL DATA in JSON format: {'id': '23', 'name': 'Digital Marketing Specialist Online Self Learning', 'description': ' - 1', 'price': '1399.00', 'basePrice': '1399', 'display_total_price': '1,399.00', 'quantity': 'isEarlyBird', 'type': 'online', 'trainingType_id': '9', 'accessDays': '335', 'productTypeId': '2', 'productTypeName': 'bundle', 'actual_name': 'Digital Marketing Specialist', 'priceId': '', 'img_url': 'https://www.simplilearn.com/ice9/course_images/bundle313x225/Digital-marketing-head.svgz', 'course_url': '/advanced-digital-marketing-certification-training-course', 'training_type_txt': 'Online Self Learning', 'messageTT': '', 'primary_label_id': '18', 'primary_label_name': 'Digital Marketing'} INFO  setup:test_orders_and_payment_flow.py:650 Verifiaction Status Log Message: ['DB Verification Successfull']
Passed test_orders_and_payment_flow.py::TestOrderAndPaymentFlowMastersProgram::test_Orders_and_Payment_Flow_masters_program[Q] 138.99
-------------------------------Captured log call--------------------------------
INFO  setup:test_orders_and_payment_flow.py:376 Url Opened is: https://www.simplilearn.com/full-stack-web-developer-mean-stack-certification-training INFO  setup:orders_page.py:30 Country Set to: DE INFO  setup:orders_page.py:159 clicked on Enroll Now button for Masters Program INFO  setup:orders_page.py:162 Payment Page Loaded ERROR  setup:ssvc_cart_page.py:55 Exception in City dropdown Traceback (most recent call last): File "C:\test_repos\pre_sales_test_python\pages_prod\ssvc_cart_page.py", line 52, in fill_learner_details_and_proceed self.city_dropdown.select_element_by_index(1) File "C:\test_repos\pre_sales_test_python\core\page_factory.py", line 60, in __getattr__ raise NoSuchElementException("An exception of type " + type(error).__name__ + " occurred. With Element -: " + loc) selenium.common.exceptions.NoSuchElementException: Message: An exception of type TimeoutException occurred. With Element -: city_dropdown INFO  setup:test_orders_and_payment_flow.py:473 <class 'tuple'> INFO  setup:ssvc_cart_page.py:336 Payment Deatils Entered INFO  setup:test_orders_and_payment_flow.py:385 <class 'tuple'> INFO  setup:test_orders_and_payment_flow.py:388 course_data: ({'course_name': 'Full Stack Web Developer - MEAN Stack', 'course_type': 'Online Bootcamp', 'base_price': '€ 1,390.00', 'final_price': '1,390.00'}, (['Credit Card', 'Paypal', 'Splitit', '2Checkout'], [{'creditcard': 'All option clickable and Payment CTA appearing '}, {'Paypal': 'Payment CTA appearing '}, {'2checkout': 'Payment CTA appearing '}, {'Split_it': 'All option clickable and Payment CTA appearing '}])) INFO  setup:test_orders_and_payment_flow.py:392 Token No is: cb5bd38a255a3763b52404ea4ef3cbf2c0f9eded0304c8ec4afe22a2529b75dd INFO  setup:test_orders_and_payment_flow.py:396 RAW SQL Data: [{'items': 'a:1:{i:0;a:33:{s:2:"id";s:3:"105";s:4:"name";s:65:"Full Stack Web Developer - MEAN Stack Online Classroom Flexi-Pass";s:11:"description";s:4:" - 1";s:5:"price";s:7:"1390.00";s:9:"basePrice";s:4:"1390";s:19:"display_total_price";s:8:"1,390.00";s:8:"quantity";i:1;s:11:"isEarlyBird";i:0;s:4:"type";s:9:"classroom";s:15:"trainingType_id";s:1:"9";s:10:"accessDays";s:3:"335";s:13:"productTypeId";s:1:"2";s:15:"productTypeName";s:6:"bundle";s:11:"actual_name";s:37:"Full Stack Web Developer - MEAN Stack";s:7:"priceId";s:0:"";s:11:"billingType";i:1;s:7:"img_url";s:83:"https://www.simplilearn.com/ice9/course_images/bundle313x225/mean-stack-master.svgz";s:10:"course_url";N;s:17:"training_type_txt";s:27:"Online Classroom Flexi-Pass";s:9:"messageTT";s:0:"";s:8:"cohortId";s:24:"63a1c1612b22261dd54eac86";s:14:"welcomeClassId";s:24:"63a1c1962b22261dd54eac87";s:10:"cohortName";s:25:"MS MEAN MAR 2023 Cohort 1";s:21:"welcomeClassStartDate";i:1675189800;s:15:"cohortStartDate";i:1679752800;s:13:"cohortEndDate";i:1695578400;s:25:"welcomeClassStartDateUser";i:1675243800;s:19:"cohortStartDateUser";i:1679810400;s:17:"cohortEndDateUser";i:1695650400;s:16:"primary_label_id";s:2:"25";s:18:"primary_label_name";s:20:"Software Development";s:12:"cateforyInfo";a:1:{i:25;s:20:"Software Development";}s:15:"program_version";i:1;}}', 'emailId': 'simplilearnautomation@gmail.com', 'contactNumber': '+49-123456789'}] INFO  setup:test_orders_and_payment_flow.py:398 SQL DATA in JSON format: {'id': '105', 'name': 'Full Stack Web Developer - MEAN Stack Online Classroom Flexi-Pass', 'description': ' - 1', 'price': '1390.00', 'basePrice': '1390', 'display_total_price': '1,390.00', 'quantity': 'isEarlyBird', 'type': 'classroom', 'trainingType_id': '9', 'accessDays': '335', 'productTypeId': '2', 'productTypeName': 'bundle', 'actual_name': 'Full Stack Web Developer - MEAN Stack', 'priceId': '', 'img_url': 'https://www.simplilearn.com/ice9/course_images/bundle313x225/mean-stack-master.svgz', 'training_type_txt': 'Online Classroom Flexi-Pass', 'messageTT': '', 'cohortId': '63a1c1612b22261dd54eac86', 'welcomeClassId': '63a1c1962b22261dd54eac87', 'cohortName': 'MS MEAN MAR 2023 Cohort 1', 'welcomeClassStartDate': 'cohortStartDate', 'cohortEndDate': 'welcomeClassStartDateUser', 'cohortStartDateUser': 'cohortEndDateUser', 'primary_label_id': '25', 'primary_label_name': 'Software Development'} INFO  setup:test_orders_and_payment_flow.py:650 Verifiaction Status Log Message: ['DB Verification Successfull']
Passed test_orders_and_payment_flow.py::TestOrderAndPaymentFlowMastersProgram::test_Orders_and_Payment_Flow_masters_program[R] 137.79
-------------------------------Captured log call--------------------------------
INFO  setup:test_orders_and_payment_flow.py:376 Url Opened is: https://www.simplilearn.com/automation-testing-masters-program-certification-training-course INFO  setup:orders_page.py:30 Country Set to: DE INFO  setup:orders_page.py:159 clicked on Enroll Now button for Masters Program INFO  setup:orders_page.py:162 Payment Page Loaded ERROR  setup:ssvc_cart_page.py:55 Exception in City dropdown Traceback (most recent call last): File "C:\test_repos\pre_sales_test_python\pages_prod\ssvc_cart_page.py", line 52, in fill_learner_details_and_proceed self.city_dropdown.select_element_by_index(1) File "C:\test_repos\pre_sales_test_python\core\page_factory.py", line 60, in __getattr__ raise NoSuchElementException("An exception of type " + type(error).__name__ + " occurred. With Element -: " + loc) selenium.common.exceptions.NoSuchElementException: Message: An exception of type TimeoutException occurred. With Element -: city_dropdown INFO  setup:test_orders_and_payment_flow.py:473 <class 'tuple'> INFO  setup:ssvc_cart_page.py:336 Payment Deatils Entered INFO  setup:test_orders_and_payment_flow.py:385 <class 'tuple'> INFO  setup:test_orders_and_payment_flow.py:388 course_data: ({'course_name': 'Automation Testing Masters Program', 'course_type': 'Online Bootcamp', 'base_price': '€ 1,390.00', 'final_price': '1,390.00'}, (['Credit Card', 'Paypal', 'Splitit', '2Checkout'], [{'creditcard': 'All option clickable and Payment CTA appearing '}, {'Paypal': 'Payment CTA appearing '}, {'2checkout': 'Payment CTA appearing '}, {'Split_it': 'All option clickable and Payment CTA appearing '}])) INFO  setup:test_orders_and_payment_flow.py:392 Token No is: 00ad4f56edd08a81ca9edfff9842549779feaf4f538674c34ef06621bb04b263 INFO  setup:test_orders_and_payment_flow.py:396 RAW SQL Data: [{'items': 'a:1:{i:0;a:24:{s:2:"id";s:3:"112";s:4:"name";s:62:"Automation Testing Masters Program Online Classroom Flexi-Pass";s:11:"description";s:4:" - 1";s:5:"price";s:7:"1390.00";s:9:"basePrice";s:4:"1390";s:19:"display_total_price";s:8:"1,390.00";s:8:"quantity";i:1;s:11:"isEarlyBird";i:0;s:4:"type";s:9:"classroom";s:15:"trainingType_id";s:1:"9";s:10:"accessDays";s:3:"335";s:13:"productTypeId";s:1:"2";s:15:"productTypeName";s:6:"bundle";s:11:"actual_name";s:34:"Automation Testing Masters Program";s:7:"priceId";s:0:"";s:11:"billingType";i:1;s:7:"img_url";s:105:"https://www.simplilearn.com/ice9/course_images/bundle313x225/Automation-Testing-Masters-Program-icon.svgz";s:10:"course_url";N;s:17:"training_type_txt";s:27:"Online Classroom Flexi-Pass";s:9:"messageTT";s:0:"";s:16:"primary_label_id";s:2:"25";s:18:"primary_label_name";s:20:"Software Development";s:12:"cateforyInfo";a:1:{i:25;s:20:"Software Development";}s:15:"program_version";i:1;}}', 'emailId': 'simplilearnautomation@gmail.com', 'contactNumber': '+49-123456789'}] INFO  setup:test_orders_and_payment_flow.py:398 SQL DATA in JSON format: {'id': '112', 'name': 'Automation Testing Masters Program Online Classroom Flexi-Pass', 'description': ' - 1', 'price': '1390.00', 'basePrice': '1390', 'display_total_price': '1,390.00', 'quantity': 'isEarlyBird', 'type': 'classroom', 'trainingType_id': '9', 'accessDays': '335', 'productTypeId': '2', 'productTypeName': 'bundle', 'actual_name': 'Automation Testing Masters Program', 'priceId': '', 'img_url': 'https://www.simplilearn.com/ice9/course_images/bundle313x225/Automation-Testing-Masters-Program-icon.svgz', 'training_type_txt': 'Online Classroom Flexi-Pass', 'messageTT': '', 'primary_label_id': '25', 'primary_label_name': 'Software Development'} INFO  setup:test_orders_and_payment_flow.py:650 Verifiaction Status Log Message: ['DB Verification Successfull']
Passed test_orders_and_payment_flow.py::TestOrderAndPaymentFlowMastersProgram::test_Orders_and_Payment_Flow_masters_program[S] 139.15
-------------------------------Captured log call--------------------------------
INFO  setup:test_orders_and_payment_flow.py:376 Url Opened is: https://www.simplilearn.com/ui-ux-design-masters-program-certification-course INFO  setup:orders_page.py:30 Country Set to: DE INFO  setup:orders_page.py:159 clicked on Enroll Now button for Masters Program INFO  setup:orders_page.py:162 Payment Page Loaded ERROR  setup:ssvc_cart_page.py:55 Exception in City dropdown Traceback (most recent call last): File "C:\test_repos\pre_sales_test_python\pages_prod\ssvc_cart_page.py", line 52, in fill_learner_details_and_proceed self.city_dropdown.select_element_by_index(1) File "C:\test_repos\pre_sales_test_python\core\page_factory.py", line 60, in __getattr__ raise NoSuchElementException("An exception of type " + type(error).__name__ + " occurred. With Element -: " + loc) selenium.common.exceptions.NoSuchElementException: Message: An exception of type TimeoutException occurred. With Element -: city_dropdown INFO  setup:test_orders_and_payment_flow.py:473 <class 'tuple'> INFO  setup:ssvc_cart_page.py:336 Payment Deatils Entered INFO  setup:test_orders_and_payment_flow.py:385 <class 'tuple'> INFO  setup:test_orders_and_payment_flow.py:388 course_data: ({'course_name': 'UI/UX Design Expert', 'course_type': 'Online Bootcamp', 'base_price': '€ 1,700.00', 'final_price': '1,700.00'}, (['Credit Card', 'Paypal', 'Splitit', '2Checkout'], [{'creditcard': 'All option clickable and Payment CTA appearing '}, {'Paypal': 'Payment CTA appearing '}, {'2checkout': 'Payment CTA appearing '}, {'Split_it': 'All option clickable and Payment CTA appearing '}])) INFO  setup:test_orders_and_payment_flow.py:392 Token No is: 5e5cccebfffadca48f6537650ad75785fa846c42c5219578612210991931510c INFO  setup:test_orders_and_payment_flow.py:396 RAW SQL Data: [{'items': 'a:1:{i:0;a:33:{s:2:"id";s:3:"290";s:4:"name";s:47:"UI/UX Design Expert Online Classroom Flexi-Pass";s:11:"description";s:4:" - 1";s:5:"price";s:7:"1700.00";s:9:"basePrice";s:4:"1700";s:19:"display_total_price";s:8:"1,700.00";s:8:"quantity";i:1;s:11:"isEarlyBird";i:0;s:4:"type";s:9:"classroom";s:15:"trainingType_id";s:1:"9";s:10:"accessDays";s:3:"120";s:13:"productTypeId";s:1:"2";s:15:"productTypeName";s:6:"bundle";s:11:"actual_name";s:19:"UI/UX Design Expert";s:7:"priceId";s:0:"";s:11:"billingType";i:1;s:7:"img_url";s:49:"https://www.simplilearn.com/ice9/banners/IoT.svgz";s:10:"course_url";N;s:17:"training_type_txt";s:27:"Online Classroom Flexi-Pass";s:9:"messageTT";s:0:"";s:8:"cohortId";s:24:"63a67a2e2b22261dd54eb32a";s:14:"welcomeClassId";s:24:"63a67a922b22261dd54eb32b";s:10:"cohortName";s:26:"MS UI/UX Mar 2023 Cohort 1";s:21:"welcomeClassStartDate";i:1675621800;s:15:"cohortStartDate";i:1678543200;s:13:"cohortEndDate";i:1688148000;s:25:"welcomeClassStartDateUser";i:1675675800;s:19:"cohortStartDateUser";i:1678597200;s:17:"cohortEndDateUser";i:1688220000;s:16:"primary_label_id";s:2:"25";s:18:"primary_label_name";s:20:"Software Development";s:12:"cateforyInfo";a:1:{i:25;s:20:"Software Development";}s:15:"program_version";i:2;}}', 'emailId': 'simplilearnautomation@gmail.com', 'contactNumber': '+49-123456789'}] INFO  setup:test_orders_and_payment_flow.py:398 SQL DATA in JSON format: {'id': '290', 'name': 'UI/UX Design Expert Online Classroom Flexi-Pass', 'description': ' - 1', 'price': '1700.00', 'basePrice': '1700', 'display_total_price': '1,700.00', 'quantity': 'isEarlyBird', 'type': 'classroom', 'trainingType_id': '9', 'accessDays': '120', 'productTypeId': '2', 'productTypeName': 'bundle', 'actual_name': 'UI/UX Design Expert', 'priceId': '', 'img_url': 'https://www.simplilearn.com/ice9/banners/IoT.svgz', 'training_type_txt': 'Online Classroom Flexi-Pass', 'messageTT': '', 'cohortId': '63a67a2e2b22261dd54eb32a', 'welcomeClassId': '63a67a922b22261dd54eb32b', 'cohortName': 'MS UI/UX Mar 2023 Cohort 1', 'welcomeClassStartDate': 'cohortStartDate', 'cohortEndDate': 'welcomeClassStartDateUser', 'cohortStartDateUser': 'cohortEndDateUser', 'primary_label_id': '25', 'primary_label_name': 'Software Development'} INFO  setup:test_orders_and_payment_flow.py:650 Verifiaction Status Log Message: ['DB Verification Successfull']
Passed test_orders_and_payment_flow.py::TestOrderAndPaymentFlowMastersProgram::test_Orders_and_Payment_Flow_masters_program[T] 95.07
-------------------------------Captured log call--------------------------------
INFO  setup:test_orders_and_payment_flow.py:376 Url Opened is: https://www.simplilearn.com/advanced-digital-marketing-certification-training-course INFO  setup:orders_page.py:30 Country Set to: DE INFO  setup:orders_page.py:159 clicked on Enroll Now button for Masters Program INFO  setup:orders_page.py:162 Payment Page Loaded ERROR  setup:ssvc_cart_page.py:55 Exception in City dropdown Traceback (most recent call last): File "C:\test_repos\pre_sales_test_python\pages_prod\ssvc_cart_page.py", line 52, in fill_learner_details_and_proceed self.city_dropdown.select_element_by_index(1) File "C:\test_repos\pre_sales_test_python\core\page_factory.py", line 60, in __getattr__ raise NoSuchElementException("An exception of type " + type(error).__name__ + " occurred. With Element -: " + loc) selenium.common.exceptions.NoSuchElementException: Message: An exception of type TimeoutException occurred. With Element -: city_dropdown INFO  setup:test_orders_and_payment_flow.py:473 <class 'tuple'> INFO  setup:ssvc_cart_page.py:336 Payment Deatils Entered INFO  setup:test_orders_and_payment_flow.py:385 <class 'tuple'> INFO  setup:test_orders_and_payment_flow.py:388 course_data: ({'course_name': 'Digital Marketing Specialist', 'course_type': 'Online Bootcamp', 'base_price': '€ 1,049.00', 'final_price': '1,049.00'}, (['Credit Card', 'Paypal', 'Splitit', '2Checkout'], [{'creditcard': 'All option clickable and Payment CTA appearing '}, {'Paypal': 'Payment CTA appearing '}, {'2checkout': 'Payment CTA appearing '}, {'Split_it': 'All option clickable and Payment CTA appearing '}])) INFO  setup:test_orders_and_payment_flow.py:392 Token No is: ea1030b9005e74fe8cea8ee585b70696eecfb99c952a335d1c331bdd39c56f8d INFO  setup:test_orders_and_payment_flow.py:396 RAW SQL Data: [{'items': 'a:1:{i:0;a:24:{s:2:"id";s:2:"23";s:4:"name";s:49:"Digital Marketing Specialist Online Self Learning";s:11:"description";s:4:" - 1";s:5:"price";s:7:"1049.00";s:9:"basePrice";s:4:"1049";s:19:"display_total_price";s:8:"1,049.00";s:8:"quantity";i:1;s:11:"isEarlyBird";i:0;s:4:"type";s:6:"online";s:15:"trainingType_id";s:1:"9";s:10:"accessDays";s:3:"335";s:13:"productTypeId";s:1:"2";s:15:"productTypeName";s:6:"bundle";s:11:"actual_name";s:28:"Digital Marketing Specialist";s:7:"priceId";s:0:"";s:11:"billingType";i:1;s:7:"img_url";s:88:"https://www.simplilearn.com/ice9/course_images/bundle313x225/Digital-marketing-head.svgz";s:10:"course_url";s:57:"/advanced-digital-marketing-certification-training-course";s:17:"training_type_txt";s:20:"Online Self Learning";s:9:"messageTT";s:0:"";s:16:"primary_label_id";s:2:"18";s:18:"primary_label_name";s:17:"Digital Marketing";s:12:"cateforyInfo";a:1:{i:18;s:17:"Digital Marketing";}s:15:"program_version";i:3;}}', 'emailId': 'simplilearnautomation@gmail.com', 'contactNumber': '+49-123456789'}] INFO  setup:test_orders_and_payment_flow.py:398 SQL DATA in JSON format: {'id': '23', 'name': 'Digital Marketing Specialist Online Self Learning', 'description': ' - 1', 'price': '1049.00', 'basePrice': '1049', 'display_total_price': '1,049.00', 'quantity': 'isEarlyBird', 'type': 'online', 'trainingType_id': '9', 'accessDays': '335', 'productTypeId': '2', 'productTypeName': 'bundle', 'actual_name': 'Digital Marketing Specialist', 'priceId': '', 'img_url': 'https://www.simplilearn.com/ice9/course_images/bundle313x225/Digital-marketing-head.svgz', 'course_url': '/advanced-digital-marketing-certification-training-course', 'training_type_txt': 'Online Self Learning', 'messageTT': '', 'primary_label_id': '18', 'primary_label_name': 'Digital Marketing'} INFO  setup:test_orders_and_payment_flow.py:650 Verifiaction Status Log Message: ['DB Verification Successfull']
Passed test_orders_and_payment_flow.py::TestOrderAndPaymentFlowMastersProgram::test_Orders_and_Payment_Flow_masters_program[U] 139.07
-------------------------------Captured log call--------------------------------
INFO  setup:test_orders_and_payment_flow.py:376 Url Opened is: https://www.simplilearn.com/full-stack-web-developer-mean-stack-certification-training INFO  setup:orders_page.py:30 Country Set to: SG INFO  setup:orders_page.py:159 clicked on Enroll Now button for Masters Program INFO  setup:orders_page.py:162 Payment Page Loaded ERROR  setup:ssvc_cart_page.py:55 Exception in City dropdown Traceback (most recent call last): File "C:\test_repos\pre_sales_test_python\pages_prod\ssvc_cart_page.py", line 52, in fill_learner_details_and_proceed self.city_dropdown.select_element_by_index(1) File "C:\test_repos\pre_sales_test_python\core\page_factory.py", line 60, in __getattr__ raise NoSuchElementException("An exception of type " + type(error).__name__ + " occurred. With Element -: " + loc) selenium.common.exceptions.NoSuchElementException: Message: An exception of type TimeoutException occurred. With Element -: city_dropdown INFO  setup:test_orders_and_payment_flow.py:473 <class 'tuple'> INFO  setup:ssvc_cart_page.py:336 Payment Deatils Entered INFO  setup:test_orders_and_payment_flow.py:385 <class 'tuple'> INFO  setup:test_orders_and_payment_flow.py:388 course_data: ({'course_name': 'Full Stack Web Developer - MEAN Stack', 'course_type': 'Online Bootcamp', 'base_price': '$ 1,390.00', 'final_price': '1,501.20'}, (['Credit Card', 'Paypal', 'Splitit', '2Checkout'], [{'creditcard': 'All option clickable and Payment CTA appearing '}, {'Paypal': 'Payment CTA appearing '}, {'2checkout': 'Payment CTA appearing '}, {'Split_it': 'All option clickable and Payment CTA appearing '}])) INFO  setup:test_orders_and_payment_flow.py:392 Token No is: 9806f7627da16052ac00fb5ec6e14825ae62968b2846f9864a9f1ea9b704c80d INFO  setup:test_orders_and_payment_flow.py:396 RAW SQL Data: [{'items': 'a:1:{i:0;a:33:{s:2:"id";s:3:"105";s:4:"name";s:65:"Full Stack Web Developer - MEAN Stack Online Classroom Flexi-Pass";s:11:"description";s:4:" - 1";s:5:"price";s:7:"1501.20";s:9:"basePrice";s:4:"1390";s:19:"display_total_price";s:8:"1,390.00";s:8:"quantity";i:1;s:11:"isEarlyBird";i:0;s:4:"type";s:9:"classroom";s:15:"trainingType_id";s:1:"9";s:10:"accessDays";s:3:"335";s:13:"productTypeId";s:1:"2";s:15:"productTypeName";s:6:"bundle";s:11:"actual_name";s:37:"Full Stack Web Developer - MEAN Stack";s:7:"priceId";s:0:"";s:11:"billingType";i:1;s:7:"img_url";s:83:"https://www.simplilearn.com/ice9/course_images/bundle313x225/mean-stack-master.svgz";s:10:"course_url";N;s:17:"training_type_txt";s:27:"Online Classroom Flexi-Pass";s:9:"messageTT";s:0:"";s:8:"cohortId";s:24:"63a1c1612b22261dd54eac86";s:14:"welcomeClassId";s:24:"63a1c1962b22261dd54eac87";s:10:"cohortName";s:25:"MS MEAN MAR 2023 Cohort 1";s:21:"welcomeClassStartDate";i:1675189800;s:15:"cohortStartDate";i:1679752800;s:13:"cohortEndDate";i:1695578400;s:25:"welcomeClassStartDateUser";i:1675269000;s:19:"cohortStartDateUser";i:1679832000;s:17:"cohortEndDateUser";i:1695672000;s:16:"primary_label_id";s:2:"25";s:18:"primary_label_name";s:20:"Software Development";s:12:"cateforyInfo";a:1:{i:25;s:20:"Software Development";}s:15:"program_version";i:1;}}', 'emailId': 'simplilearnautomation@gmail.com', 'contactNumber': '+65-123456789'}] INFO  setup:test_orders_and_payment_flow.py:398 SQL DATA in JSON format: {'id': '105', 'name': 'Full Stack Web Developer - MEAN Stack Online Classroom Flexi-Pass', 'description': ' - 1', 'price': '1501.20', 'basePrice': '1390', 'display_total_price': '1,390.00', 'quantity': 'isEarlyBird', 'type': 'classroom', 'trainingType_id': '9', 'accessDays': '335', 'productTypeId': '2', 'productTypeName': 'bundle', 'actual_name': 'Full Stack Web Developer - MEAN Stack', 'priceId': '', 'img_url': 'https://www.simplilearn.com/ice9/course_images/bundle313x225/mean-stack-master.svgz', 'training_type_txt': 'Online Classroom Flexi-Pass', 'messageTT': '', 'cohortId': '63a1c1612b22261dd54eac86', 'welcomeClassId': '63a1c1962b22261dd54eac87', 'cohortName': 'MS MEAN MAR 2023 Cohort 1', 'welcomeClassStartDate': 'cohortStartDate', 'cohortEndDate': 'welcomeClassStartDateUser', 'cohortStartDateUser': 'cohortEndDateUser', 'primary_label_id': '25', 'primary_label_name': 'Software Development'} INFO  setup:test_orders_and_payment_flow.py:650 Verifiaction Status Log Message: ['DB Verification Successfull']
Passed test_orders_and_payment_flow.py::TestOrderAndPaymentFlowMastersProgram::test_Orders_and_Payment_Flow_masters_program[V] 136.68
-------------------------------Captured log call--------------------------------
INFO  setup:test_orders_and_payment_flow.py:376 Url Opened is: https://www.simplilearn.com/automation-testing-masters-program-certification-training-course INFO  setup:orders_page.py:30 Country Set to: SG INFO  setup:orders_page.py:159 clicked on Enroll Now button for Masters Program INFO  setup:orders_page.py:162 Payment Page Loaded ERROR  setup:ssvc_cart_page.py:55 Exception in City dropdown Traceback (most recent call last): File "C:\test_repos\pre_sales_test_python\pages_prod\ssvc_cart_page.py", line 52, in fill_learner_details_and_proceed self.city_dropdown.select_element_by_index(1) File "C:\test_repos\pre_sales_test_python\core\page_factory.py", line 60, in __getattr__ raise NoSuchElementException("An exception of type " + type(error).__name__ + " occurred. With Element -: " + loc) selenium.common.exceptions.NoSuchElementException: Message: An exception of type TimeoutException occurred. With Element -: city_dropdown INFO  setup:test_orders_and_payment_flow.py:473 <class 'tuple'> INFO  setup:ssvc_cart_page.py:336 Payment Deatils Entered INFO  setup:test_orders_and_payment_flow.py:385 <class 'tuple'> INFO  setup:test_orders_and_payment_flow.py:388 course_data: ({'course_name': 'Automation Testing Masters Program', 'course_type': 'Online Bootcamp', 'base_price': '$ 1,390.00', 'final_price': '1,501.20'}, (['Credit Card', 'Paypal', 'Splitit', '2Checkout'], [{'creditcard': 'All option clickable and Payment CTA appearing '}, {'Paypal': 'Payment CTA appearing '}, {'2checkout': 'Payment CTA appearing '}, {'Split_it': 'All option clickable and Payment CTA appearing '}])) INFO  setup:test_orders_and_payment_flow.py:392 Token No is: 42cbfd429bce9f14b1f06d9bc9f5ef65fe0b554f88f155e407c736585b9e755f INFO  setup:test_orders_and_payment_flow.py:396 RAW SQL Data: [{'items': 'a:1:{i:0;a:24:{s:2:"id";s:3:"112";s:4:"name";s:62:"Automation Testing Masters Program Online Classroom Flexi-Pass";s:11:"description";s:4:" - 1";s:5:"price";s:7:"1501.20";s:9:"basePrice";s:4:"1390";s:19:"display_total_price";s:8:"1,390.00";s:8:"quantity";i:1;s:11:"isEarlyBird";i:0;s:4:"type";s:9:"classroom";s:15:"trainingType_id";s:1:"9";s:10:"accessDays";s:3:"335";s:13:"productTypeId";s:1:"2";s:15:"productTypeName";s:6:"bundle";s:11:"actual_name";s:34:"Automation Testing Masters Program";s:7:"priceId";s:0:"";s:11:"billingType";i:1;s:7:"img_url";s:105:"https://www.simplilearn.com/ice9/course_images/bundle313x225/Automation-Testing-Masters-Program-icon.svgz";s:10:"course_url";N;s:17:"training_type_txt";s:27:"Online Classroom Flexi-Pass";s:9:"messageTT";s:0:"";s:16:"primary_label_id";s:2:"25";s:18:"primary_label_name";s:20:"Software Development";s:12:"cateforyInfo";a:1:{i:25;s:20:"Software Development";}s:15:"program_version";i:1;}}', 'emailId': 'simplilearnautomation@gmail.com', 'contactNumber': '+65-123456789'}] INFO  setup:test_orders_and_payment_flow.py:398 SQL DATA in JSON format: {'id': '112', 'name': 'Automation Testing Masters Program Online Classroom Flexi-Pass', 'description': ' - 1', 'price': '1501.20', 'basePrice': '1390', 'display_total_price': '1,390.00', 'quantity': 'isEarlyBird', 'type': 'classroom', 'trainingType_id': '9', 'accessDays': '335', 'productTypeId': '2', 'productTypeName': 'bundle', 'actual_name': 'Automation Testing Masters Program', 'priceId': '', 'img_url': 'https://www.simplilearn.com/ice9/course_images/bundle313x225/Automation-Testing-Masters-Program-icon.svgz', 'training_type_txt': 'Online Classroom Flexi-Pass', 'messageTT': '', 'primary_label_id': '25', 'primary_label_name': 'Software Development'} INFO  setup:test_orders_and_payment_flow.py:650 Verifiaction Status Log Message: ['DB Verification Successfull']
Passed test_orders_and_payment_flow.py::TestOrderAndPaymentFlowMastersProgram::test_Orders_and_Payment_Flow_masters_program[W] 137.99
-------------------------------Captured log call--------------------------------
INFO  setup:test_orders_and_payment_flow.py:376 Url Opened is: https://www.simplilearn.com/ui-ux-design-masters-program-certification-course INFO  setup:orders_page.py:30 Country Set to: SG INFO  setup:orders_page.py:159 clicked on Enroll Now button for Masters Program INFO  setup:orders_page.py:162 Payment Page Loaded ERROR  setup:ssvc_cart_page.py:55 Exception in City dropdown Traceback (most recent call last): File "C:\test_repos\pre_sales_test_python\pages_prod\ssvc_cart_page.py", line 52, in fill_learner_details_and_proceed self.city_dropdown.select_element_by_index(1) File "C:\test_repos\pre_sales_test_python\core\page_factory.py", line 60, in __getattr__ raise NoSuchElementException("An exception of type " + type(error).__name__ + " occurred. With Element -: " + loc) selenium.common.exceptions.NoSuchElementException: Message: An exception of type TimeoutException occurred. With Element -: city_dropdown INFO  setup:test_orders_and_payment_flow.py:473 <class 'tuple'> INFO  setup:ssvc_cart_page.py:336 Payment Deatils Entered INFO  setup:test_orders_and_payment_flow.py:385 <class 'tuple'> INFO  setup:test_orders_and_payment_flow.py:388 course_data: ({'course_name': 'UI/UX Design Expert', 'course_type': 'Online Bootcamp', 'base_price': '$ 1,400.00', 'final_price': '1,512.00'}, (['Credit Card', 'Paypal', 'Splitit', '2Checkout'], [{'creditcard': 'All option clickable and Payment CTA appearing '}, {'Paypal': 'Payment CTA appearing '}, {'2checkout': 'Payment CTA appearing '}, {'Split_it': 'All option clickable and Payment CTA appearing '}])) INFO  setup:test_orders_and_payment_flow.py:392 Token No is: 375f0d5741befacccab4e32b19fa72d29db3b48f0e0f7a6aa9ee3a58ff89b670 INFO  setup:test_orders_and_payment_flow.py:396 RAW SQL Data: [{'items': 'a:1:{i:0;a:33:{s:2:"id";s:3:"290";s:4:"name";s:47:"UI/UX Design Expert Online Classroom Flexi-Pass";s:11:"description";s:4:" - 1";s:5:"price";s:7:"1512.00";s:9:"basePrice";s:4:"1400";s:19:"display_total_price";s:8:"1,400.00";s:8:"quantity";i:1;s:11:"isEarlyBird";i:0;s:4:"type";s:9:"classroom";s:15:"trainingType_id";s:1:"9";s:10:"accessDays";s:3:"120";s:13:"productTypeId";s:1:"2";s:15:"productTypeName";s:6:"bundle";s:11:"actual_name";s:19:"UI/UX Design Expert";s:7:"priceId";s:0:"";s:11:"billingType";i:1;s:7:"img_url";s:49:"https://www.simplilearn.com/ice9/banners/IoT.svgz";s:10:"course_url";N;s:17:"training_type_txt";s:27:"Online Classroom Flexi-Pass";s:9:"messageTT";s:0:"";s:8:"cohortId";s:24:"63a67a2e2b22261dd54eb32a";s:14:"welcomeClassId";s:24:"63a67a922b22261dd54eb32b";s:10:"cohortName";s:26:"MS UI/UX Mar 2023 Cohort 1";s:21:"welcomeClassStartDate";i:1675621800;s:15:"cohortStartDate";i:1678543200;s:13:"cohortEndDate";i:1688148000;s:25:"welcomeClassStartDateUser";i:1675701000;s:19:"cohortStartDateUser";i:1678622400;s:17:"cohortEndDateUser";i:1688241600;s:16:"primary_label_id";s:2:"25";s:18:"primary_label_name";s:20:"Software Development";s:12:"cateforyInfo";a:1:{i:25;s:20:"Software Development";}s:15:"program_version";i:2;}}', 'emailId': 'simplilearnautomation@gmail.com', 'contactNumber': '+65-123456789'}] INFO  setup:test_orders_and_payment_flow.py:398 SQL DATA in JSON format: {'id': '290', 'name': 'UI/UX Design Expert Online Classroom Flexi-Pass', 'description': ' - 1', 'price': '1512.00', 'basePrice': '1400', 'display_total_price': '1,400.00', 'quantity': 'isEarlyBird', 'type': 'classroom', 'trainingType_id': '9', 'accessDays': '120', 'productTypeId': '2', 'productTypeName': 'bundle', 'actual_name': 'UI/UX Design Expert', 'priceId': '', 'img_url': 'https://www.simplilearn.com/ice9/banners/IoT.svgz', 'training_type_txt': 'Online Classroom Flexi-Pass', 'messageTT': '', 'cohortId': '63a67a2e2b22261dd54eb32a', 'welcomeClassId': '63a67a922b22261dd54eb32b', 'cohortName': 'MS UI/UX Mar 2023 Cohort 1', 'welcomeClassStartDate': 'cohortStartDate', 'cohortEndDate': 'welcomeClassStartDateUser', 'cohortStartDateUser': 'cohortEndDateUser', 'primary_label_id': '25', 'primary_label_name': 'Software Development'} INFO  setup:test_orders_and_payment_flow.py:650 Verifiaction Status Log Message: ['DB Verification Successfull']
Passed test_orders_and_payment_flow.py::TestOrderAndPaymentFlowMastersProgram::test_Orders_and_Payment_Flow_masters_program[X] 100.66
-------------------------------Captured log call--------------------------------
INFO  setup:test_orders_and_payment_flow.py:376 Url Opened is: https://www.simplilearn.com/advanced-digital-marketing-certification-training-course INFO  setup:orders_page.py:30 Country Set to: AE INFO  setup:orders_page.py:159 clicked on Enroll Now button for Masters Program INFO  setup:orders_page.py:162 Payment Page Loaded ERROR  setup:ssvc_cart_page.py:55 Exception in City dropdown Traceback (most recent call last): File "C:\test_repos\pre_sales_test_python\pages_prod\ssvc_cart_page.py", line 52, in fill_learner_details_and_proceed self.city_dropdown.select_element_by_index(1) File "C:\test_repos\pre_sales_test_python\core\page_factory.py", line 60, in __getattr__ raise NoSuchElementException("An exception of type " + type(error).__name__ + " occurred. With Element -: " + loc) selenium.common.exceptions.NoSuchElementException: Message: An exception of type TimeoutException occurred. With Element -: city_dropdown INFO  setup:test_orders_and_payment_flow.py:473 <class 'tuple'> INFO  setup:ssvc_cart_page.py:336 Payment Deatils Entered INFO  setup:test_orders_and_payment_flow.py:385 <class 'tuple'> INFO  setup:test_orders_and_payment_flow.py:388 course_data: ({'course_name': 'Digital Marketing Specialist', 'course_type': 'Online Bootcamp', 'base_price': '$ 1,049.00', 'final_price': '1,049.00'}, (['Credit Card', 'Paypal', 'Splitit', '2Checkout'], [{'creditcard': 'All option clickable and Payment CTA appearing '}, {'Paypal': 'Payment CTA appearing '}, {'2checkout': 'Payment CTA appearing '}, {'Split_it': 'All option clickable and Payment CTA appearing '}])) INFO  setup:test_orders_and_payment_flow.py:392 Token No is: 41ab887b1b9924cc78bdb99d6be77bb112b05cb7d3b7e2a372f02dd3d398ce05 INFO  setup:test_orders_and_payment_flow.py:396 RAW SQL Data: [{'items': 'a:1:{i:0;a:24:{s:2:"id";s:2:"23";s:4:"name";s:49:"Digital Marketing Specialist Online Self Learning";s:11:"description";s:4:" - 1";s:5:"price";s:7:"1049.00";s:9:"basePrice";s:4:"1049";s:19:"display_total_price";s:8:"1,049.00";s:8:"quantity";i:1;s:11:"isEarlyBird";i:0;s:4:"type";s:6:"online";s:15:"trainingType_id";s:1:"9";s:10:"accessDays";s:3:"335";s:13:"productTypeId";s:1:"2";s:15:"productTypeName";s:6:"bundle";s:11:"actual_name";s:28:"Digital Marketing Specialist";s:7:"priceId";s:0:"";s:11:"billingType";i:1;s:7:"img_url";s:88:"https://www.simplilearn.com/ice9/course_images/bundle313x225/Digital-marketing-head.svgz";s:10:"course_url";s:57:"/advanced-digital-marketing-certification-training-course";s:17:"training_type_txt";s:20:"Online Self Learning";s:9:"messageTT";s:0:"";s:16:"primary_label_id";s:2:"18";s:18:"primary_label_name";s:17:"Digital Marketing";s:12:"cateforyInfo";a:1:{i:18;s:17:"Digital Marketing";}s:15:"program_version";i:3;}}', 'emailId': 'simplilearnautomation@gmail.com', 'contactNumber': '+971-123456789'}] INFO  setup:test_orders_and_payment_flow.py:398 SQL DATA in JSON format: {'id': '23', 'name': 'Digital Marketing Specialist Online Self Learning', 'description': ' - 1', 'price': '1049.00', 'basePrice': '1049', 'display_total_price': '1,049.00', 'quantity': 'isEarlyBird', 'type': 'online', 'trainingType_id': '9', 'accessDays': '335', 'productTypeId': '2', 'productTypeName': 'bundle', 'actual_name': 'Digital Marketing Specialist', 'priceId': '', 'img_url': 'https://www.simplilearn.com/ice9/course_images/bundle313x225/Digital-marketing-head.svgz', 'course_url': '/advanced-digital-marketing-certification-training-course', 'training_type_txt': 'Online Self Learning', 'messageTT': '', 'primary_label_id': '18', 'primary_label_name': 'Digital Marketing'} INFO  setup:test_orders_and_payment_flow.py:650 Verifiaction Status Log Message: ['DB Verification Successfull']
Passed test_orders_and_payment_flow.py::TestOrderAndPaymentFlowMastersProgram::test_Orders_and_Payment_Flow_masters_program[Y] 139.62
-------------------------------Captured log call--------------------------------
INFO  setup:test_orders_and_payment_flow.py:376 Url Opened is: https://www.simplilearn.com/full-stack-web-developer-mean-stack-certification-training INFO  setup:orders_page.py:30 Country Set to: AE INFO  setup:orders_page.py:159 clicked on Enroll Now button for Masters Program INFO  setup:orders_page.py:162 Payment Page Loaded ERROR  setup:ssvc_cart_page.py:55 Exception in City dropdown Traceback (most recent call last): File "C:\test_repos\pre_sales_test_python\pages_prod\ssvc_cart_page.py", line 52, in fill_learner_details_and_proceed self.city_dropdown.select_element_by_index(1) File "C:\test_repos\pre_sales_test_python\core\page_factory.py", line 60, in __getattr__ raise NoSuchElementException("An exception of type " + type(error).__name__ + " occurred. With Element -: " + loc) selenium.common.exceptions.NoSuchElementException: Message: An exception of type TimeoutException occurred. With Element -: city_dropdown INFO  setup:test_orders_and_payment_flow.py:473 <class 'tuple'> INFO  setup:ssvc_cart_page.py:336 Payment Deatils Entered INFO  setup:test_orders_and_payment_flow.py:385 <class 'tuple'> INFO  setup:test_orders_and_payment_flow.py:388 course_data: ({'course_name': 'Full Stack Web Developer - MEAN Stack', 'course_type': 'Online Bootcamp', 'base_price': '$ 1,390.00', 'final_price': '1,390.00'}, (['Credit Card', 'Paypal', 'Splitit', '2Checkout'], [{'creditcard': 'All option clickable and Payment CTA appearing '}, {'Paypal': 'Payment CTA appearing '}, {'2checkout': 'Payment CTA appearing '}, {'Split_it': 'All option clickable and Payment CTA appearing '}])) INFO  setup:test_orders_and_payment_flow.py:392 Token No is: 3b15104a83221d82822c27ffbf9b54d2b5b327a401447a289ce8139e1ae47883 INFO  setup:test_orders_and_payment_flow.py:396 RAW SQL Data: [{'items': 'a:1:{i:0;a:33:{s:2:"id";s:3:"105";s:4:"name";s:65:"Full Stack Web Developer - MEAN Stack Online Classroom Flexi-Pass";s:11:"description";s:4:" - 1";s:5:"price";s:7:"1390.00";s:9:"basePrice";s:4:"1390";s:19:"display_total_price";s:8:"1,390.00";s:8:"quantity";i:1;s:11:"isEarlyBird";i:0;s:4:"type";s:9:"classroom";s:15:"trainingType_id";s:1:"9";s:10:"accessDays";s:3:"335";s:13:"productTypeId";s:1:"2";s:15:"productTypeName";s:6:"bundle";s:11:"actual_name";s:37:"Full Stack Web Developer - MEAN Stack";s:7:"priceId";s:0:"";s:11:"billingType";i:1;s:7:"img_url";s:83:"https://www.simplilearn.com/ice9/course_images/bundle313x225/mean-stack-master.svgz";s:10:"course_url";N;s:17:"training_type_txt";s:27:"Online Classroom Flexi-Pass";s:9:"messageTT";s:0:"";s:8:"cohortId";s:24:"63a1c1612b22261dd54eac86";s:14:"welcomeClassId";s:24:"63a1c1962b22261dd54eac87";s:10:"cohortName";s:25:"MS MEAN MAR 2023 Cohort 1";s:21:"welcomeClassStartDate";i:1675189800;s:15:"cohortStartDate";i:1679752800;s:13:"cohortEndDate";i:1695578400;s:25:"welcomeClassStartDateUser";i:1675254600;s:19:"cohortStartDateUser";i:1679817600;s:17:"cohortEndDateUser";i:1695657600;s:16:"primary_label_id";s:2:"25";s:18:"primary_label_name";s:20:"Software Development";s:12:"cateforyInfo";a:1:{i:25;s:20:"Software Development";}s:15:"program_version";i:1;}}', 'emailId': 'simplilearnautomation@gmail.com', 'contactNumber': '+971-123456789'}] INFO  setup:test_orders_and_payment_flow.py:398 SQL DATA in JSON format: {'id': '105', 'name': 'Full Stack Web Developer - MEAN Stack Online Classroom Flexi-Pass', 'description': ' - 1', 'price': '1390.00', 'basePrice': '1390', 'display_total_price': '1,390.00', 'quantity': 'isEarlyBird', 'type': 'classroom', 'trainingType_id': '9', 'accessDays': '335', 'productTypeId': '2', 'productTypeName': 'bundle', 'actual_name': 'Full Stack Web Developer - MEAN Stack', 'priceId': '', 'img_url': 'https://www.simplilearn.com/ice9/course_images/bundle313x225/mean-stack-master.svgz', 'training_type_txt': 'Online Classroom Flexi-Pass', 'messageTT': '', 'cohortId': '63a1c1612b22261dd54eac86', 'welcomeClassId': '63a1c1962b22261dd54eac87', 'cohortName': 'MS MEAN MAR 2023 Cohort 1', 'welcomeClassStartDate': 'cohortStartDate', 'cohortEndDate': 'welcomeClassStartDateUser', 'cohortStartDateUser': 'cohortEndDateUser', 'primary_label_id': '25', 'primary_label_name': 'Software Development'} INFO  setup:test_orders_and_payment_flow.py:650 Verifiaction Status Log Message: ['DB Verification Successfull']
Passed test_orders_and_payment_flow.py::TestOrderAndPaymentFlowMastersProgram::test_Orders_and_Payment_Flow_masters_program[Z] 139.04
-------------------------------Captured log call--------------------------------
INFO  setup:test_orders_and_payment_flow.py:376 Url Opened is: https://www.simplilearn.com/automation-testing-masters-program-certification-training-course INFO  setup:orders_page.py:30 Country Set to: AE INFO  setup:orders_page.py:159 clicked on Enroll Now button for Masters Program INFO  setup:orders_page.py:162 Payment Page Loaded ERROR  setup:ssvc_cart_page.py:55 Exception in City dropdown Traceback (most recent call last): File "C:\test_repos\pre_sales_test_python\pages_prod\ssvc_cart_page.py", line 52, in fill_learner_details_and_proceed self.city_dropdown.select_element_by_index(1) File "C:\test_repos\pre_sales_test_python\core\page_factory.py", line 60, in __getattr__ raise NoSuchElementException("An exception of type " + type(error).__name__ + " occurred. With Element -: " + loc) selenium.common.exceptions.NoSuchElementException: Message: An exception of type TimeoutException occurred. With Element -: city_dropdown INFO  setup:test_orders_and_payment_flow.py:473 <class 'tuple'> INFO  setup:ssvc_cart_page.py:336 Payment Deatils Entered INFO  setup:test_orders_and_payment_flow.py:385 <class 'tuple'> INFO  setup:test_orders_and_payment_flow.py:388 course_data: ({'course_name': 'Automation Testing Masters Program', 'course_type': 'Online Bootcamp', 'base_price': '$ 1,390.00', 'final_price': '1,390.00'}, (['Credit Card', 'Paypal', 'Splitit', '2Checkout'], [{'creditcard': 'All option clickable and Payment CTA appearing '}, {'Paypal': 'Payment CTA appearing '}, {'2checkout': 'Payment CTA appearing '}, {'Split_it': 'All option clickable and Payment CTA appearing '}])) INFO  setup:test_orders_and_payment_flow.py:392 Token No is: adee86d8aa82ae3cc86717024a36a84656ca1f415da25eff896fa6e62f7e19fa INFO  setup:test_orders_and_payment_flow.py:396 RAW SQL Data: [{'items': 'a:1:{i:0;a:24:{s:2:"id";s:3:"112";s:4:"name";s:62:"Automation Testing Masters Program Online Classroom Flexi-Pass";s:11:"description";s:4:" - 1";s:5:"price";s:7:"1390.00";s:9:"basePrice";s:4:"1390";s:19:"display_total_price";s:8:"1,390.00";s:8:"quantity";i:1;s:11:"isEarlyBird";i:0;s:4:"type";s:9:"classroom";s:15:"trainingType_id";s:1:"9";s:10:"accessDays";s:3:"335";s:13:"productTypeId";s:1:"2";s:15:"productTypeName";s:6:"bundle";s:11:"actual_name";s:34:"Automation Testing Masters Program";s:7:"priceId";s:0:"";s:11:"billingType";i:1;s:7:"img_url";s:105:"https://www.simplilearn.com/ice9/course_images/bundle313x225/Automation-Testing-Masters-Program-icon.svgz";s:10:"course_url";N;s:17:"training_type_txt";s:27:"Online Classroom Flexi-Pass";s:9:"messageTT";s:0:"";s:16:"primary_label_id";s:2:"25";s:18:"primary_label_name";s:20:"Software Development";s:12:"cateforyInfo";a:1:{i:25;s:20:"Software Development";}s:15:"program_version";i:1;}}', 'emailId': 'simplilearnautomation@gmail.com', 'contactNumber': '+971-123456789'}] INFO  setup:test_orders_and_payment_flow.py:398 SQL DATA in JSON format: {'id': '112', 'name': 'Automation Testing Masters Program Online Classroom Flexi-Pass', 'description': ' - 1', 'price': '1390.00', 'basePrice': '1390', 'display_total_price': '1,390.00', 'quantity': 'isEarlyBird', 'type': 'classroom', 'trainingType_id': '9', 'accessDays': '335', 'productTypeId': '2', 'productTypeName': 'bundle', 'actual_name': 'Automation Testing Masters Program', 'priceId': '', 'img_url': 'https://www.simplilearn.com/ice9/course_images/bundle313x225/Automation-Testing-Masters-Program-icon.svgz', 'training_type_txt': 'Online Classroom Flexi-Pass', 'messageTT': '', 'primary_label_id': '25', 'primary_label_name': 'Software Development'} INFO  setup:test_orders_and_payment_flow.py:650 Verifiaction Status Log Message: ['DB Verification Successfull']
Passed test_orders_and_payment_flow.py::TestOrderAndPaymentFlowMastersProgram::test_Orders_and_Payment_Flow_masters_program[AA] 137.02
-------------------------------Captured log call--------------------------------
INFO  setup:test_orders_and_payment_flow.py:376 Url Opened is: https://www.simplilearn.com/ui-ux-design-masters-program-certification-course INFO  setup:orders_page.py:30 Country Set to: AE INFO  setup:orders_page.py:159 clicked on Enroll Now button for Masters Program INFO  setup:orders_page.py:162 Payment Page Loaded ERROR  setup:ssvc_cart_page.py:55 Exception in City dropdown Traceback (most recent call last): File "C:\test_repos\pre_sales_test_python\pages_prod\ssvc_cart_page.py", line 52, in fill_learner_details_and_proceed self.city_dropdown.select_element_by_index(1) File "C:\test_repos\pre_sales_test_python\core\page_factory.py", line 60, in __getattr__ raise NoSuchElementException("An exception of type " + type(error).__name__ + " occurred. With Element -: " + loc) selenium.common.exceptions.NoSuchElementException: Message: An exception of type TimeoutException occurred. With Element -: city_dropdown INFO  setup:test_orders_and_payment_flow.py:473 <class 'tuple'> INFO  setup:ssvc_cart_page.py:336 Payment Deatils Entered INFO  setup:test_orders_and_payment_flow.py:385 <class 'tuple'> INFO  setup:test_orders_and_payment_flow.py:388 course_data: ({'course_name': 'UI/UX Design Expert', 'course_type': 'Online Bootcamp', 'base_price': '$ 1,400.00', 'final_price': '1,400.00'}, (['Credit Card', 'Paypal', 'Splitit', '2Checkout'], [{'creditcard': 'All option clickable and Payment CTA appearing '}, {'Paypal': 'Payment CTA appearing '}, {'2checkout': 'Payment CTA appearing '}, {'Split_it': 'All option clickable and Payment CTA appearing '}])) INFO  setup:test_orders_and_payment_flow.py:392 Token No is: 9e43bcf1c710a73ff2e4661ed3dcbe58933fe15397f253ed546cd23a00e6140b INFO  setup:test_orders_and_payment_flow.py:396 RAW SQL Data: [{'items': 'a:1:{i:0;a:33:{s:2:"id";s:3:"290";s:4:"name";s:47:"UI/UX Design Expert Online Classroom Flexi-Pass";s:11:"description";s:4:" - 1";s:5:"price";s:7:"1400.00";s:9:"basePrice";s:4:"1400";s:19:"display_total_price";s:8:"1,400.00";s:8:"quantity";i:1;s:11:"isEarlyBird";i:0;s:4:"type";s:9:"classroom";s:15:"trainingType_id";s:1:"9";s:10:"accessDays";s:3:"120";s:13:"productTypeId";s:1:"2";s:15:"productTypeName";s:6:"bundle";s:11:"actual_name";s:19:"UI/UX Design Expert";s:7:"priceId";s:0:"";s:11:"billingType";i:1;s:7:"img_url";s:49:"https://www.simplilearn.com/ice9/banners/IoT.svgz";s:10:"course_url";N;s:17:"training_type_txt";s:27:"Online Classroom Flexi-Pass";s:9:"messageTT";s:0:"";s:8:"cohortId";s:24:"63a67a2e2b22261dd54eb32a";s:14:"welcomeClassId";s:24:"63a67a922b22261dd54eb32b";s:10:"cohortName";s:26:"MS UI/UX Mar 2023 Cohort 1";s:21:"welcomeClassStartDate";i:1675621800;s:15:"cohortStartDate";i:1678543200;s:13:"cohortEndDate";i:1688148000;s:25:"welcomeClassStartDateUser";i:1675686600;s:19:"cohortStartDateUser";i:1678608000;s:17:"cohortEndDateUser";i:1688227200;s:16:"primary_label_id";s:2:"25";s:18:"primary_label_name";s:20:"Software Development";s:12:"cateforyInfo";a:1:{i:25;s:20:"Software Development";}s:15:"program_version";i:2;}}', 'emailId': 'simplilearnautomation@gmail.com', 'contactNumber': '+971-123456789'}] INFO  setup:test_orders_and_payment_flow.py:398 SQL DATA in JSON format: {'id': '290', 'name': 'UI/UX Design Expert Online Classroom Flexi-Pass', 'description': ' - 1', 'price': '1400.00', 'basePrice': '1400', 'display_total_price': '1,400.00', 'quantity': 'isEarlyBird', 'type': 'classroom', 'trainingType_id': '9', 'accessDays': '120', 'productTypeId': '2', 'productTypeName': 'bundle', 'actual_name': 'UI/UX Design Expert', 'priceId': '', 'img_url': 'https://www.simplilearn.com/ice9/banners/IoT.svgz', 'training_type_txt': 'Online Classroom Flexi-Pass', 'messageTT': '', 'cohortId': '63a67a2e2b22261dd54eb32a', 'welcomeClassId': '63a67a922b22261dd54eb32b', 'cohortName': 'MS UI/UX Mar 2023 Cohort 1', 'welcomeClassStartDate': 'cohortStartDate', 'cohortEndDate': 'welcomeClassStartDateUser', 'cohortStartDateUser': 'cohortEndDateUser', 'primary_label_id': '25', 'primary_label_name': 'Software Development'} INFO  setup:test_orders_and_payment_flow.py:650 Verifiaction Status Log Message: ['DB Verification Successfull']
Passed test_orders_and_payment_flow.py::TestOrderAndPaymentFlowMastersProgram::test_Orders_and_Payment_Flow_masters_program[AB] 96.56
-------------------------------Captured log call--------------------------------
INFO  setup:test_orders_and_payment_flow.py:376 Url Opened is: https://www.simplilearn.com/advanced-digital-marketing-certification-training-course INFO  setup:orders_page.py:30 Country Set to: AE INFO  setup:orders_page.py:159 clicked on Enroll Now button for Masters Program INFO  setup:orders_page.py:162 Payment Page Loaded ERROR  setup:ssvc_cart_page.py:55 Exception in City dropdown Traceback (most recent call last): File "C:\test_repos\pre_sales_test_python\pages_prod\ssvc_cart_page.py", line 52, in fill_learner_details_and_proceed self.city_dropdown.select_element_by_index(1) File "C:\test_repos\pre_sales_test_python\core\page_factory.py", line 60, in __getattr__ raise NoSuchElementException("An exception of type " + type(error).__name__ + " occurred. With Element -: " + loc) selenium.common.exceptions.NoSuchElementException: Message: An exception of type TimeoutException occurred. With Element -: city_dropdown INFO  setup:test_orders_and_payment_flow.py:473 <class 'tuple'> INFO  setup:ssvc_cart_page.py:336 Payment Deatils Entered INFO  setup:test_orders_and_payment_flow.py:385 <class 'tuple'> INFO  setup:test_orders_and_payment_flow.py:388 course_data: ({'course_name': 'Digital Marketing Specialist', 'course_type': 'Online Bootcamp', 'base_price': '$ 1,049.00', 'final_price': '1,049.00'}, (['Credit Card', 'Paypal', 'Splitit', '2Checkout'], [{'creditcard': 'All option clickable and Payment CTA appearing '}, {'Paypal': 'Payment CTA appearing '}, {'2checkout': 'Payment CTA appearing '}, {'Split_it': 'All option clickable and Payment CTA appearing '}])) INFO  setup:test_orders_and_payment_flow.py:392 Token No is: 87ad598f73137cdc76bc655e0870d946daf0d0a76f5c13452f17ce2f938d409e INFO  setup:test_orders_and_payment_flow.py:396 RAW SQL Data: [{'items': 'a:1:{i:0;a:24:{s:2:"id";s:2:"23";s:4:"name";s:49:"Digital Marketing Specialist Online Self Learning";s:11:"description";s:4:" - 1";s:5:"price";s:7:"1049.00";s:9:"basePrice";s:4:"1049";s:19:"display_total_price";s:8:"1,049.00";s:8:"quantity";i:1;s:11:"isEarlyBird";i:0;s:4:"type";s:6:"online";s:15:"trainingType_id";s:1:"9";s:10:"accessDays";s:3:"335";s:13:"productTypeId";s:1:"2";s:15:"productTypeName";s:6:"bundle";s:11:"actual_name";s:28:"Digital Marketing Specialist";s:7:"priceId";s:0:"";s:11:"billingType";i:1;s:7:"img_url";s:88:"https://www.simplilearn.com/ice9/course_images/bundle313x225/Digital-marketing-head.svgz";s:10:"course_url";s:57:"/advanced-digital-marketing-certification-training-course";s:17:"training_type_txt";s:20:"Online Self Learning";s:9:"messageTT";s:0:"";s:16:"primary_label_id";s:2:"18";s:18:"primary_label_name";s:17:"Digital Marketing";s:12:"cateforyInfo";a:1:{i:18;s:17:"Digital Marketing";}s:15:"program_version";i:3;}}', 'emailId': 'simplilearnautomation@gmail.com', 'contactNumber': '+971-123456789'}] INFO  setup:test_orders_and_payment_flow.py:398 SQL DATA in JSON format: {'id': '23', 'name': 'Digital Marketing Specialist Online Self Learning', 'description': ' - 1', 'price': '1049.00', 'basePrice': '1049', 'display_total_price': '1,049.00', 'quantity': 'isEarlyBird', 'type': 'online', 'trainingType_id': '9', 'accessDays': '335', 'productTypeId': '2', 'productTypeName': 'bundle', 'actual_name': 'Digital Marketing Specialist', 'priceId': '', 'img_url': 'https://www.simplilearn.com/ice9/course_images/bundle313x225/Digital-marketing-head.svgz', 'course_url': '/advanced-digital-marketing-certification-training-course', 'training_type_txt': 'Online Self Learning', 'messageTT': '', 'primary_label_id': '18', 'primary_label_name': 'Digital Marketing'} INFO  setup:test_orders_and_payment_flow.py:650 Verifiaction Status Log Message: ['DB Verification Successfull']