ArvindSelvaraj's picture
Rename frontend.py to app.py
d05e6db verified
raw
history blame
1.84 kB
import streamlit as st
import backend # Importing backend functions
import os
# Title
st.title("Test Case Generator - QA User Story")
# Input field for the user story
user_story = st.text_area("Enter the QA User Story", "")
# Button to generate test cases
if st.button("Generate Test Cases"):
if user_story:
# Show a spinner while the test cases are being generated
with st.spinner("Generating test cases..."):
test_cases = backend.generate_testcases(user_story)
st.subheader("Generated Test Cases")
st.write(test_cases)
st.session_state.test_cases = test_cases # Store test cases in session state for further use
else:
st.error("Please enter a user story to generate test cases.")
# Export test cases
st.sidebar.title("Export Test Cases")
format = st.sidebar.selectbox("Select Format", ["json", "csv"], key="export_format")
if st.sidebar.button("Export Test Cases", key="export_button"):
if 'test_cases' in st.session_state:
test_cases = st.session_state.test_cases
export_content = backend.export_test_cases(test_cases, format)
if format == 'json':
mime_type = "application/json"
elif format == 'csv':
mime_type = "text/csv"
else:
st.sidebar.error(f"Unsupported format: {format}")
export_content = None
if export_content:
st.sidebar.download_button(
label=f"Download Test Cases as {format.upper()}",
data=export_content,
file_name=f"test_cases.{format}",
mime=mime_type,
key="download_button"
)
else:
st.sidebar.error("No test cases available to export.")
# Footer with a clean divider
st.markdown("---")
st.write("Built by the QA Automation Team")