diff --git a/db/comments.db b/db/comments.db
index 152b3635a3a7394a9eca1de75902b6d5089d51c5..3b4680d0878fb201e5136b1f329efd2f2301f6d8 100644
Binary files a/db/comments.db and b/db/comments.db differ
diff --git a/db/posts.db b/db/posts.db
index 82a2832abaf0f9ba223c1d3476a730f7e6c871ac..74a4367cc8052819d04064c3ffda17caf0d31838 100644
Binary files a/db/posts.db and b/db/posts.db differ
diff --git a/db/users.db b/db/users.db
index 87b598cb91f2a7ed3acffdc953d59db55ad9c8df..c37b2335cbf6e8cb96d19b1f0d567dd4003e3a0b 100644
Binary files a/db/users.db and b/db/users.db differ
diff --git a/tests/changeProfilePicture.py b/tests/changeProfilePicture.py
index 593160cf2fcbc2dfa7705376557166967f2afabf..3a224152c7a5efd05e9f43427fd87122d51a0048 100644
--- a/tests/changeProfilePicture.py
+++ b/tests/changeProfilePicture.py
@@ -4,7 +4,7 @@ from constants import URL
 
 
 # Define a function that takes a playwright object as an argument
-def run(playwright: Playwright) -> None:
+def run(page: Page) -> None:
     # Launch a chromium browser in non-headless mode
     browser = playwright.chromium.launch(headless=False)
     # Create a new browser context
@@ -39,8 +39,8 @@ def run(playwright: Playwright) -> None:
     page.get_by_role("button", name="set seed").click()
 
     # Close the browser context and the browser
-    context.close()
-    browser.close()
+    # context.close()
+    # browser.close()
 
 
 # Use the sync_playwright context manager to run the function
diff --git a/tests/conftest.py b/tests/conftest.py
new file mode 100644
index 0000000000000000000000000000000000000000..e711c6621ee2b9959c8ae52702cd5523c7ca34f6
--- /dev/null
+++ b/tests/conftest.py
@@ -0,0 +1,19 @@
+# conftest.py
+import pytest
+from tests.utils import USE_HEADLESS
+from playwright.sync_api import sync_playwright, Browser
+
+@pytest.fixture(scope="session")
+def browser():
+    with sync_playwright() as p:
+        browser = p.chromium.launch(headless=USE_HEADLESS)
+        yield browser
+        print('\nClosing Browser')
+        browser.close()
+
+@pytest.fixture
+def page(browser: Browser):
+    context = browser.new_context()
+    page = context.new_page()
+    yield page
+    context.close()
\ No newline at end of file
diff --git a/tests/logout.py b/tests/logout.py
index b79b4a30bb10202d9dd6d184b240d56f1be6bfe2..801916cc561ad41bfddff3d09a7e0413f0f83294 100644
--- a/tests/logout.py
+++ b/tests/logout.py
@@ -1,10 +1,10 @@
 # Import the playwright module and the constants file
-from playwright.sync_api import Playwright, sync_playwright, expect
+from playwright.sync_api import Playwright, sync_playwright, expect, Page
 from constants import URL
 
 
 # Define a function that takes a playwright object as an argument
-def run(playwright: Playwright) -> None:
+def run(page: Page) -> None:
     # Launch a chromium browser in non-headless mode
     browser = playwright.chromium.launch(headless=False)
     # Create a new browser context
@@ -29,8 +29,8 @@ def run(playwright: Playwright) -> None:
     page.get_by_role("link", name="").click()
 
     # Close the browser context and the browser
-    context.close()
-    browser.close()
+    # context.close()
+    # browser.close()
 
 
 # Use the sync_playwright context manager to run the function
diff --git a/tests/sandbox.py b/tests/sandbox.py
index 7adb6c384876efc70e663e101be4f01750eaa338..0c83acc529595f4adcbddb4b6a706332852a12a8 100644
--- a/tests/sandbox.py
+++ b/tests/sandbox.py
@@ -1,10 +1,10 @@
-from playwright.sync_api import Playwright, sync_playwright, expect
+from playwright.sync_api import sync_playwright, Page
 from utils.user import UserTest
 from utils.constant import URL
 from functions.login import login
 post_id = 1
 
-def run(playwright: Playwright):
+def run(page: Page):
     browser = playwright.chromium.launch(headless=False)
     context = browser.new_context()
     page = context.new_page()
diff --git a/tests/test_change_username.py b/tests/test_change_username.py
index abf44d2a1352d565a277f7b307b9a528183926ea..ab34f06048484b5f5bc360f5f7388ca65747f916 100644
--- a/tests/test_change_username.py
+++ b/tests/test_change_username.py
@@ -1,5 +1,5 @@
 # Import the playwright module and the constants file
-from playwright.sync_api import Playwright, expect
+from playwright.sync_api import Playwright, expect, Page
 import pytest, sqlite3
 from tests.utils import USE_HEADLESS, URL, DB_USERS_ROOT, UserTest, is_user_exist
 from tests.functions import edit_username, login
@@ -16,19 +16,11 @@ def user ():
   connection.commit()
 
 # Define a function that takes a playwright object as an argument
-def test_change_username(playwright: Playwright, user: UserTest) -> None:
-    browser = playwright.chromium.launch(headless=USE_HEADLESS)
-    context = browser.new_context()
-    page = context.new_page()
-  
+def test_change_username(page: Page, user: UserTest) -> None:
     page = login(page, user)
 
     new_username = "NewUsername"
     page = edit_username(page, new_username)
 
     assert is_user_exist(user.username) == False
-    assert is_user_exist(new_username) == True
-
-    # Close the browser context and the browser
-    context.close()
-    browser.close()
+    assert is_user_exist(new_username) == True
\ No newline at end of file
diff --git a/tests/test_create_comment.py b/tests/test_create_comment.py
index 7618eacc2011c9661fbd5e4120d813d01436aa9b..54d6b51223b6467e3ccaec915012a796dc2750f1 100644
--- a/tests/test_create_comment.py
+++ b/tests/test_create_comment.py
@@ -1,5 +1,5 @@
 # Import the playwright module and the constants file
-from playwright.sync_api import Playwright, expect
+from playwright.sync_api import Playwright, expect, Page
 import pytest, sqlite3
 from tests.utils import USE_HEADLESS, URL, DB_COMMENTS_ROOT, UserTest
 from tests.functions import login, create_comment, new_comment
@@ -20,10 +20,7 @@ def delete_comment():
   connection.commit()
 
 # Define a function that takes a playwright object as an argument
-def test_create_comment(playwright: Playwright, user: UserTest) -> None:
-    browser = playwright.chromium.launch(headless=USE_HEADLESS)
-    context = browser.new_context()
-    page = context.new_page()
+def test_create_comment(page: Page, user: UserTest) -> None:
     page.goto(URL)
 
     page = login(page, user)    
@@ -31,9 +28,6 @@ def test_create_comment(playwright: Playwright, user: UserTest) -> None:
     page, comment_id = create_comment(page, 1)
 
     expect(page.get_by_text(new_comment)).to_be_visible()
-    # Close the browser context and the browser
-    context.close()
-    browser.close()
 
 def get_newest_comment():
     connection = sqlite3.connect(DB_COMMENTS_ROOT)
diff --git a/tests/test_create_post.py b/tests/test_create_post.py
index aca2aad79be2298f9adf02c8ce6d5b55f508dd64..808535cec1d0c25fedc60ac2880082e6f4fa259d 100644
--- a/tests/test_create_post.py
+++ b/tests/test_create_post.py
@@ -1,4 +1,4 @@
-from playwright.sync_api import Playwright, expect
+from playwright.sync_api import Playwright, expect, Page
 import pytest
 from tests.utils import USE_HEADLESS, URL, UserTest, delete_post
 from tests.functions import login, create_post
@@ -9,10 +9,7 @@ def user ():
   yield user
 
 # Define a function that takes a playwright object as an argument
-def test_create_post(playwright: Playwright, user: UserTest) -> None:
-    browser = playwright.chromium.launch(headless=USE_HEADLESS)
-    context = browser.new_context()
-    page = context.new_page()
+def test_create_post(page: Page, user: UserTest) -> None:
     page.goto(URL)
 
     page = login(page, user)
@@ -24,7 +21,3 @@ def test_create_post(playwright: Playwright, user: UserTest) -> None:
 
     delete_post(post_id)
 
-    # Close the browser context and the browser
-    context.close()
-    browser.close()
-
diff --git a/tests/test_delete_account.py b/tests/test_delete_account.py
index b4f4dfed700c861ac90074a83cb7f4a09af13bf8..1f5e3170665ad37f531153fb4f5eb43e95f99af2 100644
--- a/tests/test_delete_account.py
+++ b/tests/test_delete_account.py
@@ -1,4 +1,4 @@
-from playwright.sync_api import Playwright
+from playwright.sync_api import Playwright, expect, Page
 import pytest
 from tests.utils import USE_HEADLESS, URL, UserTest, is_user_exist
 from tests.functions import register, delete_account
@@ -8,10 +8,7 @@ def user ():
   user = UserTest("User_Test_Register")
   yield user
 
-def test_delete_account(playwright: Playwright, user) -> None:
-    browser = playwright.chromium.launch(headless=USE_HEADLESS)
-    context = browser.new_context()
-    page = context.new_page()
+def test_delete_account(page: Page, user) -> None:
     page.goto(URL)
     
     page = register(page, user)
@@ -19,8 +16,5 @@ def test_delete_account(playwright: Playwright, user) -> None:
     page = delete_account(page)
 
     assert is_user_exist(user.username) == False
-        
-    context.close()
-    browser.close()
 
 
diff --git a/tests/test_delete_comment.py b/tests/test_delete_comment.py
index d2d6556ea0bee589a7dbb2de894c5d5cf9b158b8..b97d901b1f7836c40793aa37e2544a9f6f801a5d 100644
--- a/tests/test_delete_comment.py
+++ b/tests/test_delete_comment.py
@@ -1,4 +1,5 @@
-from playwright.sync_api import Playwright
+from playwright.sync_api import Playwright, expect, Page
+
 from tests.utils import URL, DB_COMMENTS_ROOT, USE_HEADLESS, UserTest
 from tests.functions import login, create_comment, delete_comment
 import pytest, sqlite3
@@ -10,10 +11,7 @@ def user():
    user = UserTest("User_A")
    yield user
 
-def test_delete_comment(playwright: Playwright, user) -> None:
-    browser = playwright.chromium.launch(headless=USE_HEADLESS)
-    context = browser.new_context()
-    page = context.new_page()
+def test_delete_comment(page: Page, user) -> None:
     page.goto(URL)
     
     page = login(page, user)
@@ -24,10 +22,6 @@ def test_delete_comment(playwright: Playwright, user) -> None:
        
     assert is_comment_exist(comment_id) == False
 
-    context.close()
-    browser.close()
-
-
 def is_comment_exist(id):
     connection = sqlite3.connect(DB_COMMENTS_ROOT)
     cursor = connection.cursor()
diff --git a/tests/test_delete_post.py b/tests/test_delete_post.py
index f8a8778675aa75f28144481ed4555d31095e9899..b0bd2399845b2271c82f1306a28cf20e1524398c 100644
--- a/tests/test_delete_post.py
+++ b/tests/test_delete_post.py
@@ -1,4 +1,4 @@
-from playwright.sync_api import Playwright
+from playwright.sync_api import Playwright, expect, Page
 import pytest, sqlite3
 from tests.utils import USE_HEADLESS, URL, DB_POSTS_ROOT, UserTest, delete_post
 from tests.functions import login, create_post, delete_post
@@ -9,10 +9,7 @@ def user ():
   yield user
 
 
-def test_delete_post(playwright: Playwright, user) -> None:
-    browser = playwright.chromium.launch(headless=USE_HEADLESS)
-    context = browser.new_context()
-    page = context.new_page()
+def test_delete_post(page: Page, user) -> None:
     page.goto(URL)
     
     page = login(page, user)
@@ -21,9 +18,6 @@ def test_delete_post(playwright: Playwright, user) -> None:
 
     assert is_post_exist(post_id) == False
 
-    context.close()
-    browser.close()
-
 def is_post_exist(id):
     connection = sqlite3.connect(DB_POSTS_ROOT)
     cursor = connection.cursor()
diff --git a/tests/test_edit_post.py b/tests/test_edit_post.py
index 4367009aadc0c919534c3d9da6a0ea7bdbccb4e6..822c46491e8c5dd63370fafbf8574c1c61c4735e 100644
--- a/tests/test_edit_post.py
+++ b/tests/test_edit_post.py
@@ -1,4 +1,5 @@
-from playwright.sync_api import Playwright, expect
+from playwright.sync_api import Playwright, expect, Page
+
 import pytest
 from tests.utils import USE_HEADLESS, URL, DB_POSTS_ROOT, UserTest, delete_post
 from tests.functions import login, create_post, edit_post, new_title
@@ -8,10 +9,7 @@ def user ():
   user = UserTest("User_A")
   yield user
 
-def test_edit_post(playwright: Playwright, user) -> None:
-    browser = playwright.chromium.launch(headless=USE_HEADLESS)
-    context = browser.new_context()
-    page = context.new_page()
+def test_edit_post(page: Page, user) -> None:
     page.goto(URL)
     
     page = login(page, user)
@@ -22,8 +20,4 @@ def test_edit_post(playwright: Playwright, user) -> None:
     expect(page).to_have_url(URL + '/post/' + str(post_id))
     expect(page).to_have_title(new_title)
 
-    delete_post(post_id)
-
-    context.close()
-    browser.close()
-
+    delete_post(post_id)
\ No newline at end of file
diff --git a/tests/test_login.py b/tests/test_login.py
index 8f4806283eb5c19ecb14115b4f0dec299e007865..de6afbe1c6d422673f216295dfaeb501cfe5c426 100644
--- a/tests/test_login.py
+++ b/tests/test_login.py
@@ -1,5 +1,5 @@
 # Import the playwright module and the constants file
-from playwright.sync_api import Playwright, expect
+from playwright.sync_api import Playwright, expect, Page
 import pytest
 from tests.utils import USE_HEADLESS, URL, DB_USERS_ROOT, UserTest
 from tests.functions import login
@@ -10,15 +10,9 @@ def user():
     yield user
 
 # Define a function that takes a playwright object as an argument
-def test_login(playwright: Playwright, user) -> None:
-    # Launch a chromium browser in non-headless mode
-    browser = playwright.chromium.launch(headless=USE_HEADLESS)
-    context = browser.new_context()
-    page = context.new_page()
-
+def test_login(page: Page, user) -> None:
     page = login(page, user)
 
     expect(page).to_have_url(URL + '/')
     expect(page.locator('[href*="/user/' + user.username + '"]')).to_be_visible()
-    browser.close()
 
diff --git a/tests/test_register.py b/tests/test_register.py
index e4c6fe87f075e2ea096c0b63f6bf01d9d37ad9cf..685bcbd7b58aded6ad35be8579ca8fb9e4cccde2 100644
--- a/tests/test_register.py
+++ b/tests/test_register.py
@@ -1,5 +1,5 @@
 # Import the playwright module and the constants file
-from playwright.sync_api import Playwright, expect
+from playwright.sync_api import Playwright, expect, Page
 import pytest, sqlite3
 from tests.utils import USE_HEADLESS, URL, DB_USERS_ROOT, UserTest
 from tests.functions import register
@@ -15,15 +15,8 @@ def user ():
     connection.commit()
 
 # Define a function that takes a playwright object as an argument
-def test_register(playwright: Playwright, user: UserTest) -> None:
-    browser = playwright.chromium.launch(headless=USE_HEADLESS)
-    context = browser.new_context()
-    page = context.new_page()
-
+def test_register(page: Page, user: UserTest) -> None:
     page = register(page, user)
 
     expect(page).to_have_url(URL + '/')
-    expect(page.locator('[href*="/user/' + user.username + '"]')).to_be_visible()
-
-    context.close()
-    browser.close()
+    expect(page.locator('[href*="/user/' + user.username + '"]')).to_be_visible()
\ No newline at end of file